当前位置: 首页 > 编程日记 > 正文

silverlight数据库应用程序开发

该解决方案使用的是"silverlight导航应用程序+Oracle数据库+WebService服务”

新建silverlight项目GH,同时会自动添加一个GH.Web,在GH.Web中添加"web 服务",同时需要添加两个XML文件用于解决跨域问题:

第一个XML文件:clientaccesspolicy.xml:

<?xml version="1.0" encoding="utf-8" ?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="*">
        <domain uri="*"/>
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>

第二个XML文件:crossdomain.xml:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" />
<allow-http-request-headers-from domain="*" headers="*" />
</cross-domain-policy>

在GH中添加一个文件夹:Model,用于存放实体类,然后添加"服务引用":GH_ServiceReference

web服务代码:

ExpandedBlockStart.gifView Code
  1 #region 用户管理
  2         [WebMethod]
  3         public string getUsers()
  4         {
  5             try
  6             {
  7                 OracleConnection orclConn = new OracleConnection(ConfigurationManager.ConnectionStrings["ConString"].ConnectionString);
  8                 orclConn.Open();
  9                 OracleDataAdapter orclAdapter = new OracleDataAdapter("select U.ID,U.XM,U.SSBMMC,ZD.MS,R.JSMC from SYS_USER U,SYS_ZD ZD,SYS_ROLE R WHERE U.SSQY=ZD.ID AND U.ROLEDM=R.ID AND ZD.LXID=1 order by U.ID ", orclConn);
 10                 DataSet ds = new DataSet();
 11                 orclAdapter.Fill(ds);
 12 
 13                 int num = 1;
 14                 StringBuilder builder = new StringBuilder();
 15                 builder.Append("<?xml version=\"1.0\" encoding=\"utf-8\" ?>");
 16                 builder.Append("<UserInfo>");
 17                 foreach (DataRow row in ds.Tables[0].Rows)
 18                 {                    
 19                     builder.Append("<user>");
 20                     builder.Append("<number>");
 21                     builder.Append(num.ToString());
 22                     builder.Append("</number>");
 23                     builder.Append("<userID>");
 24                     builder.Append(row[0].ToString());
 25                     builder.Append("</userID>");
 26                     builder.Append("<userName>");
 27                     builder.Append(row[1].ToString());
 28                     builder.Append("</userName>");
 29                     builder.Append("<userDep>");
 30                     builder.Append(row[2].ToString());
 31                     builder.Append("</userDep>");
 32                     builder.Append("<userArea>");
 33                     builder.Append(row[3].ToString());
 34                     builder.Append("</userArea>");
 35                     builder.Append("<userRole>");
 36                     builder.Append(row[4].ToString());
 37                     builder.Append("</userRole>");
 38                     builder.Append("</user>");
 39                     num++;
 40                 }
 41                 builder.Append("</UserInfo>");
 42                 orclConn.Close();
 43                 return builder.ToString();
 44             }
 45             catch (Exception ex)
 46             {
 47                 return string.Empty;
 48             }
 49         }
 50         //删除用户
 51         [WebMethod]
 52         public int DelUser(int uID)
 53         {
 54             string sql = "delete from SYS_USER where ID="+uID.ToString();
 55             return OperaData(sql);
 56         }
 57 
 58 
 59         [WebMethod]
 60         public int InsertUser(string uName,string dep,string areaid,string roleid)
 61         {
 62             string sql = "insert into SYS_USER(XM,SSBMMC,SSQY,ROLEDM) values('" + uName + "','" + dep + "','" + areaid + "','" + roleid + "')";
 63             return OperaData(sql);
 64         }
 65         [WebMethod]
 66         public int UptUser(string s)
 67         {
 68             string [] val=s.Split('|');
 69             string sql = "update SYS_USER set SSBMMC='" + val[0] + "',SSQY='" + val[1] + "',ROLEDM='" + val[2] + "' where ID='" + val[3] + "'";
 70             return OperaData(sql);
 71         }
 72 
 73         /// <summary>
 74         /// 增、删、改
 75         /// </summary>
 76         /// <param name="sql"></param>
 77         /// <returns></returns>
 78         private int OperaData(string sql)
 79         {
 80             OracleConnection orclConn = new OracleConnection(ConfigurationManager.ConnectionStrings["ConString"].ConnectionString);
 81             orclConn.Open();
 82             OracleCommand orclCmd = new OracleCommand(sql, orclConn);
 83             int result = orclCmd.ExecuteNonQuery();
 84             orclConn.Close();
 85             return result;
 86         }
 87 
 88 
 89         /// <summary>
 90         /// 获取所属区域
 91         /// </summary>
 92         [WebMethod]
 93         public string GetArea()
 94         {
 95             try
 96             {
 97                 OracleConnection orclConn = new OracleConnection(ConfigurationManager.ConnectionStrings["ConString"].ConnectionString);
 98                 orclConn.Open();
 99                 OracleDataAdapter orclAdapter = new OracleDataAdapter("select ZD.ID,ZD.MS from SYS_ZD ZD WHERE ZD.LXID=1", orclConn);
100                 DataSet ds = new DataSet();
101                 orclAdapter.Fill(ds);
102 
103                 StringBuilder builder = new StringBuilder();
104                 builder.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
105                 builder.Append("<areaInfo>");
106                 foreach (DataRow row in ds.Tables[0].Rows)
107                 {
108                     builder.Append("<area>");
109                     builder.Append("<id>");
110                     builder.Append(row[0].ToString());
111                     builder.Append("</id>");
112                     builder.Append("<ms>");
113                     builder.Append(row[1].ToString());
114                     builder.Append("</ms>");
115                     builder.Append("</area>");
116                 }
117                 builder.Append("</areaInfo>");
118                 orclConn.Close();
119                 return builder.ToString();
120             }
121             catch (Exception e)
122             {
123                 return string.Empty;
124             }
125         }
126 
127         /// <summary>
128         /// 获取角色
129         /// </summary>
130         [WebMethod]
131         public string GetRole()
132         {
133             try
134             {
135                 OracleConnection orclConn = new OracleConnection(ConfigurationManager.ConnectionStrings["ConString"].ConnectionString);
136                 orclConn.Open();
137                 OracleDataAdapter orclAdapter = new OracleDataAdapter("select ROLE.ID,ROLE.JSMC from SYS_ROLE ROLE", orclConn);
138                 DataSet ds = new DataSet();
139                 orclAdapter.Fill(ds);
140 
141                 StringBuilder builder = new StringBuilder();
142                 builder.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
143                 builder.Append("<roleInfo>");
144                 foreach (DataRow row in ds.Tables[0].Rows)
145                 {
146                     builder.Append("<role>");
147                     builder.Append("<id>");
148                     builder.Append(row[0].ToString());
149                     builder.Append("</id>");
150                     builder.Append("<roleName>");
151                     builder.Append(row[1].ToString());
152                     builder.Append("</roleName>");
153                     builder.Append("</role>");
154                 }
155                 builder.Append("</roleInfo>");
156                 orclConn.Close();
157                 return builder.ToString();
158             }
159             catch (Exception e)
160             {
161                 return string.Empty;
162             }
163         }
164         #endregion

主页面视图:

主页面xmal代码:

ExpandedBlockStart.gifView Code
  1 public partial class GH_User : Page
  2     {
  3         GH_ServiceReference.GH_serviceSoapClient client = new GH.GH_ServiceReference.GH_serviceSoapClient();
  4         public GH_User()
  5         {
  6             InitializeComponent();
  7             GH_ServiceReference.GH_serviceSoapClient client = new GH.GH_ServiceReference.GH_serviceSoapClient();
  8             client.getUsersCompleted += new EventHandler<GH.GH_ServiceReference.getUsersCompletedEventArgs>(OnGetUsersCompleted);
  9             client.getUsersAsync();            
 10         }
 11        
 12         /// <summary>
 13         /// 获取用户信息
 14         /// </summary>
 15         private void OnGetUsersCompleted(object sender, GH.GH_ServiceReference.getUsersCompletedEventArgs e)
 16         {
 17             if (e.Error != null)
 18             {
 19                 return;
 20             }
 21             XmlReader reader = XmlReader.Create(new StringReader(e.Result.ToString()));
 22             XDocument doc = XDocument.Load(reader);
 23             var info = from items in doc.Descendants("user")
 24                        select new gh_UserModel()
 25                        {
 26                            Num = (int)items.Element("number"),
 27                            ID = (string)items.Element("userID"),
 28                            Name = (string)items.Element("userName"),
 29                            DepName = (string)items.Element("userDep"),
 30                            Area = (string)items.Element("userArea"),
 31                            RoleID = (string)items.Element("userRole")
 32                        };
 33             //分页
 34             PagedCollectionView view = new PagedCollectionView(info.ToList());
 35             dataGrid1.ItemsSource = view;
 36             dataPager1.Source = view;
 37             dataPager1.PageSize = 5;
 38         }
 39 
 40         //删除用户
 41         private void bt_del_Click(object sender, RoutedEventArgs e)
 42         {
 43             client.DelUserCompleted += new EventHandler<GH_ServiceReference.DelUserCompletedEventArgs>(client_DelUserCompleted);
 44             client.DelUserAsync(Convert.ToInt32((sender as Button).Tag.ToString()));
 45         }
 46         void client_DelUserCompleted(object sender, GH_ServiceReference.DelUserCompletedEventArgs e)
 47         {
 48             if (e.Error == null)
 49             {
 50                 MessageBox.Show("删除成功!");
 51                 //重新绑定
 52                 client.getUsersCompleted += new EventHandler<GH_ServiceReference.getUsersCompletedEventArgs>(OnGetUsersCompleted);
 53                 client.getUsersAsync();
 54             }
 55             else
 56             {
 57                 MessageBox.Show(e.Error.ToString());
 58             }
 59         }
 60 
 61         private void Page_Loaded(object sender, RoutedEventArgs e)
 62         {
 63             client.GetAreaCompleted += new EventHandler<GH_ServiceReference.GetAreaCompletedEventArgs>(client_GetAreaCompleted);
 64             client.GetAreaAsync();
 65             client.GetRoleCompleted += new EventHandler<GH_ServiceReference.GetRoleCompletedEventArgs>(client_GetRoleCompleted);
 66             client.GetRoleAsync();
 67         }
 68 
 69         void client_GetRoleCompleted(object sender, GH_ServiceReference.GetRoleCompletedEventArgs e)
 70         {
 71             if (e.Error == null)
 72             {
 73                 XmlReader reader = XmlReader.Create(new StringReader(e.Result.ToString()));
 74                 XDocument doc = XDocument.Load(reader);
 75                 var role = from items in doc.Descendants("role")
 76                            select new gh_RoleModel()
 77                            {
 78                                RoleID=(string)items.Element("id"),
 79                                RoleName = (string)items.Element("roleName")
 80                            };
 81 
 82                 comboBox_role.ItemsSource = role.ToList();
 83                 comboBox_role.DisplayMemberPath = "RoleName";
 84                 comboBox_role.UpdateLayout();
 85                 comboBox_role.SelectedIndex = 0;
 86             }
 87         }
 88 
 89         void client_GetAreaCompleted(object sender, GH_ServiceReference.GetAreaCompletedEventArgs e)
 90         {
 91             if (e.Error == null)
 92             {
 93                 XmlReader reader = XmlReader.Create(new StringReader(e.Result.ToString()));
 94                 XDocument xdoc = XDocument.Load(reader);
 95                 var area = from items in xdoc.Descendants("area")
 96                            select new gb_ZDModel()
 97                            {
 98                                ID = (string)items.Element("id"),
 99                                Des = (string)items.Element("ms")
100                            };
101                 comboBox_area.ItemsSource = area.ToList();
102                 comboBox_area.DisplayMemberPath = "Des";
103                 comboBox_area.UpdateLayout();
104                 comboBox_area.SelectedIndex = 0;
105             }
106         }
107         //保存用户
108         private void btn_Sava_Click(object sender, RoutedEventArgs e)
109         {
110             if (string.IsNullOrEmpty(textBox1.Text))
111             {
112                 MessageBox.Show("请输入用户名");
113                 return;
114             }
115             if (string.IsNullOrEmpty(textBox2.Text))
116             {
117                 MessageBox.Show("请输入所属部门");
118                 return;
119             }
120             var areaname = comboBox_area.SelectedItem;
121             string areaid = ((gb_ZDModel)areaname).ID;
122 
123             var rolename = comboBox_role.SelectedItem;
124             string roleid = ((gh_RoleModel)rolename).RoleID;
125 
126             client.InsertUserCompleted += new EventHandler<GH_ServiceReference.InsertUserCompletedEventArgs>(client_InsertUserCompleted);
127             client.InsertUserAsync(textBox1.Text, textBox2.Text, areaid, roleid);
128         }
129 
130         void client_InsertUserCompleted(object sender, GH_ServiceReference.InsertUserCompletedEventArgs e)
131         {
132             if (e.Error == null)
133             {
134                 client.getUsersCompleted += new EventHandler<GH_ServiceReference.getUsersCompletedEventArgs>(OnGetUsersCompleted);
135                 client.getUsersAsync();
136                 MessageBox.Show("用户添加完毕.");
137                 textBox1.Text = "";
138                 textBox2.Text = "";
139                 comboBox_area.SelectedIndex = 0;
140                 comboBox_role.SelectedIndex = 0;
141             }
142             else
143             {
144                 MessageBox.Show(e.Error.ToString());
145             }
146         }
147 
148         gh_User_Child user_child;
149         //修改
150         private void btn_upt_Click(object sender, RoutedEventArgs e)
151         {
152             gh_UserModel row = (gh_UserModel)dataGrid1.SelectedItem;
153 
154             user_child = new gh_User_Child(row.ID, row.Name, row.DepName, row.Area, row.RoleID);
155             user_child.Title = "用户信息";            
156             user_child.Show();
157             user_child.Closed += new EventHandler(user_child_Closed);
158         }
159 
160         void user_child_Closed(object sender, EventArgs e)
161         {
162             if (user_child.DialogResult == true)
163             {
164                 string dep = user_child.textBox2.Text;
165                 string area = ((gb_ZDModel)user_child.comboBox_area.SelectedItem).ID;
166                 string role = ((gh_RoleModel)user_child.comboBox_role.SelectedItem).RoleID;
167                 string uID=user_child.OKButton.Tag.ToString();
168                 client.UptUserCompleted += new EventHandler<GH_ServiceReference.UptUserCompletedEventArgs>(client_UptUserCompleted);
169                 string s = dep +"|"+ area+"|" + role +"|"+ uID;
170                 client.UptUserAsync(s);
171             }
172         }
173 
174         void client_UptUserCompleted(object sender, GH_ServiceReference.UptUserCompletedEventArgs e)
175         {
176             if (e.Error == null)
177             {
178                 MessageBox.Show("更新成功");
179                 client.getUsersCompleted += new EventHandler<GH_ServiceReference.getUsersCompletedEventArgs>(OnGetUsersCompleted);
180                 client.getUsersAsync();
181             }
182         }

子窗体视图:

子窗体代码:

ExpandedBlockStart.gifView Code
 1 GH_ServiceReference.GH_serviceSoapClient client = new GH.GH_ServiceReference.GH_serviceSoapClient();
 2         public gh_User_Child()
 3         {
 4             InitializeComponent();
 5         }
 6         
 7         public gh_User_Child(string id, string name, string dep, string area, string role)
 8         {
 9             InitializeComponent();
10             
11             client.GetAreaCompleted += new EventHandler<GH_ServiceReference.GetAreaCompletedEventArgs>(client_GetAreaCompleted);
12             client.GetAreaAsync();
13             client.GetRoleCompleted += new EventHandler<GH_ServiceReference.GetRoleCompletedEventArgs>(client_GetRoleCompleted);
14             client.GetRoleAsync();
15 
16             this.OKButton.Tag = id;
17             textBox1.Text = name;
18             textBox2.Text = dep;
19             comboBox_area.SelectedValue = area;  //无效
20             comboBox_area.SelectedValue = role;
21         }
22 
23         void client_GetRoleCompleted(object sender, GH_ServiceReference.GetRoleCompletedEventArgs e)
24         {
25             if (e.Error == null)
26             {
27                 XmlReader reader = XmlReader.Create(new StringReader(e.Result.ToString()));
28                 XDocument doc = XDocument.Load(reader);
29                 var role = from items in doc.Descendants("role")
30                            select new gh_RoleModel()
31                            {
32                                RoleID = (string)items.Element("id"),
33                                RoleName = (string)items.Element("roleName")
34                            };
35 
36                 comboBox_role.ItemsSource = role.ToList();
37                 comboBox_role.DisplayMemberPath = "RoleName";
38                 comboBox_role.UpdateLayout();
39                 comboBox_role.SelectedIndex = 0;
40             }
41         }
42 
43         void client_GetAreaCompleted(object sender, GH_ServiceReference.GetAreaCompletedEventArgs e)
44         {
45             if (e.Error == null)
46             {
47                 XmlReader reader = XmlReader.Create(new StringReader(e.Result.ToString()));
48                 XDocument xdoc = XDocument.Load(reader);
49                 var area = from items in xdoc.Descendants("area")
50                            select new gb_ZDModel()
51                            {
52                                ID = (string)items.Element("id"),
53                                Des = (string)items.Element("ms")
54                            };
55                 comboBox_area.ItemsSource = area.ToList();
56                 comboBox_area.DisplayMemberPath = "Des";
57                 comboBox_area.UpdateLayout();
58                 comboBox_area.SelectedIndex = 0;
59             }
60         }
61 
62         private void OKButton_Click(object sender, RoutedEventArgs e)
63         {
64             this.DialogResult = true;
65         }
66         private void CancelButton_Click(object sender, RoutedEventArgs e)
67         {
68             this.DialogResult = false;
69         }

转载于:https://www.cnblogs.com/jsping/archive/2012/09/21/2697063.html

相关文章:

如何设置matplotlib中x,y坐标轴的位置?

在机器学习中经常会使用Sigmoid函数&#xff0c;如果直接使用matplotlib绘图&#xff0c;那么就会像下图这样&#xff0c;原点并没有在(0,0)。 import matplotlib.pyplot as plt import numpyx numpy.linspace(start-10, stop10) y 1 / (1 numpy.e ** (-1 * x))plt.plot(x,…

Python中的类、模块和包究竟是什么?

Python培训教程&#xff1a;Python中的类、模块和包究竟是什么?在Python和其他编程语言中&#xff0c;都有类似或相同的概念&#xff0c;如对象、类、模块、包&#xff0c;名称都是一样的&#xff0c;只不过会有细微的一些区别&#xff0c;正是因为有这些存在&#xff0c;才使…

Test class should have exactly one public constructor解决办法

测试类用的junit&#xff0c;在eclipse中执行ok&#xff0c;在maven编译就挂 Error MessageTest class should have exactly one public constructor Stacktracejava.lang.Exception: Test class should have exactly one public constructorat org.junit.runners.BlockJUnit4C…

中矿大新生赛 A 求解位数和【字符串】

时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒空间限制&#xff1a;C/C 32768K&#xff0c;其他语言65536K64bit IO Format: %lld题目描述 给出一个数x&#xff0c;求x的所有位数的和。输入描述: 第1行输入组数T&#xff0c;代表有T组数据。第2-T1行&#xff0c;每行输入…

学软件测试的优势有哪些

软件测试培训岗在各大招聘网站上越来越多&#xff0c;很多公司都对软件测试这个岗位有需求&#xff0c;那么具体学软件测试的优势有哪些呢?来看看下面的详细介绍就知道了。 软件测试培训&#xff1a;学软件测试的优势有哪些? 工作起点高&#xff0c;发展空间大 开始工作即进入…

C++项目中的extern C {}

2010-07-10 19:45 by 吴秦, 92864 阅读, 22 评论, 收藏, 编辑 引言 在用C的项目源码中&#xff0c;经常会不可避免的会看到下面的代码&#xff1a; ?123456789#ifdef __cplusplusextern "C" { #endif/*...*/#ifdef __cplusplus}#endif它到底有什么用呢&#xff0c;你…

C# 自定义事件和委托

http://www.cnblogs.com/huomm/archive/2007/12/04/982869.html 转载于:https://www.cnblogs.com/xxvv/archive/2012/09/22/3648589.html

参加UI培训有发展吗?

UI设计岗在最近的很多招聘网上都越来越多&#xff0c;逐渐引起了很多人的关注&#xff0c;大家都想知道转行参加UI培训有发展吗?本篇文章就和大家分享一下。 参加UI培训有发展吗? 先来看看UI设计的现状&#xff0c;UI设计行业这几年发展非常快&#xff0c;目前已经初具规模&a…

lampp开机启动

安装好之后&#xff0c;输入以下命令即可&#xff1a; ln -s /opt/lampp/lampp /etc/rc.d/rc3.d/S99lampp ln -s /opt/lampp/lampp /etc/rc.d/rc4.d/S99lampp ln -s /opt/lampp/lampp /etc/rc.d/rc5.d/S99lampp转载于:https://www.cnblogs.com/imkun/archive/2012/09/23/269929…

Properties类读写配置文件

Properties类读写简单配置文件相当的方便&#xff0c;以前竟然没注意到这个类。 FileInputStream fs new FileInputStream("config.ini"); Properties pros new Properties(); pros.load(fs); pros.setProperty("test", &…

如何在Jupyter Lab中显示pyecharts的图形?

这篇图文是《如何利用pyecharts绘制酷炫的桑基图&#xff1f;》的补充。 在这篇图文中给出的代码是使用pycharm调试的&#xff0c;而自己分享的时候&#xff0c;是使用Jupter Lab。 如果沿用这篇文章的代码&#xff0c;渲染后的图形仍然需要到sankey.html文件中查看&#xff…

参加web前端培训要学会哪些技能

想要成为一名合格的web前端程序猿&#xff0c;要学习的东西有很多&#xff0c;那么参加web前端培训要学会哪些技能呢?来看看下面的详细介绍就知道了。 参加web前端培训要学会哪些技能?想从事web前端开发&#xff0c;只会HTML、CSS和JavaScript这三个要素是远远不够的。身为一…

微软的研发思路发生改变了 Visual Studio 2012 Update 1抢先看

随着微软上周正式发布Visual Studio 2012&#xff0c;微软公司随即宣布了他们的下一版本。Update 1的CTP&#xff08;社区技术预览&#xff09;版预计本月底可用&#xff0c;而Update 1的最终版应该2012年底可用。微软曾表示&#xff0c;他们希望在VS2012上实现的若干目标之一是…

json的序列化与反序列化

json 是一种轻量级的数据交换格式&#xff0c;也是完全独立于任何程序语言的文本格式。 本文介绍json字符串的序列化与反序列化问题。 序列化 是指将变量&#xff08;对象&#xff09;从内存中变成可存储或可传输的过程。反序列化 是指将变量内容从序列化的对象重新读到内存里…

socket 995 错误 boost

这个错误的中文解释是&#xff1a;由于线程退出或应用程序请求&#xff0c;已中止 I/O 操作。 最近几天学习boost asio 在抄官方的一个实例代码时遇到 了&#xff0c;这个错误搞了我三天才解决&#xff0c;就是在一行代码中少了一个 s 所致。 正确的代码是这样 的 boost::asio:…

几何图形在logo设计中的有哪些情感意义?

作为一名合格的UI设计师&#xff0c;工作中遇到的问题有很多&#xff0c;例如logo设计&#xff0c;是很多UI设计师的一个日常工作之一&#xff0c;小编今天为大家介绍的UI设计培训教程就是几何图形在logo设计中的有哪些情感意义?希望能够帮助到大家。 UI设计培训教程&#xff…

Linux自学笔记——haproxy

HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理&#xff0c;支持虚拟主机&#xff0c;它是免费、快速并且可靠地一套解决方案。HAProxy特别适用于那些负载特大的web站点&#xff0c;这些站点通常又需要会话保持或七层处理。HAProxy运行在时下的硬件上&#xff0c;完…

如何利用pyecharts绘制炫酷的关系网络图?

如何利用pyecharts绘制炫酷的关系网络图 这是本学期在大数据哲学与社会科学实验室做的第六次分享了。 第一次分享的是&#xff1a; 如何利用“wordcloudjieba”制作中文词云&#xff1f; 第二次分享的是&#xff1a; 如何爬取知乎中问题的回答以及评论的数据&#xff1f; …

设Excle的cell中显示一个下拉列表选择框

描述&#xff1a;我想让excle的sheet页中的B列的每个cell输入内容的时候将A列所有行的内容作为下拉列表的选择内容 效果如下&#xff1a; 实现的步骤如下&#xff1a; 1.点击B列的头&#xff0c;选中整列 2.点击菜单栏的“数据”-》“数据有效性”&#xff0c;弹出如下的对话框…

Python培训中有哪些是必须学的运算符

不管是学Python技术还是其他的编程技术&#xff0c;运算符的学习都是少不了的&#xff0c;本期小编为大家推荐的教程就是关于Python培训中有哪些是必须学的运算符?来看看下面的详细介绍内容。 Python培训中有哪些是必须学的运算符? 布尔值&#xff1a;值只有两个&#xff0c;…

centos6 搭建heartbeat

Heartbeat是High-Availability Linux Project (Linux下的高可用性项目)的产物&#xff0c;是一套提供防止业务主机因不可避免的意外性或计划性宕机问题的高可用性软件。Heartbeat可以从Linux-HA 项目Web 站点免费获得&#xff0c;它提供了所有HA &#xff08;高可用性&#xff…

标准C++中的string类的用法总结

相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧&#xff1f;的确&#xff0c;MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架&#xff0c;还有没有这样使用起来非常方便的类呢&#xff1f;答案是肯定的。也许有人会说&#xff0c;即使不用M…

NCEPU:线下组队学习周报(007)

线下组队学习 经过一段时间的准备&#xff0c;我们组织的线下组队学习逐步进入正轨。欢迎华北电力大学保定校区的伙伴加入进来大家一起学习一起成长。 我们开展组队学习的内容为&#xff1a; &#xff08;1&#xff09;周志华的《机器学习》&#xff08;西瓜书&#xff09; …

java培训面试技巧分享

很多人在学会java技术之后&#xff0c;就开始筹备自己的面试了&#xff0c;java技术在互联网行业的需求是很大的&#xff0c;所以内卷是很严重的&#xff0c;在面试环节一定要全力以赴才行&#xff0c;下面小编就教大家一些java培训面试技巧&#xff0c;希望能帮助到大家。 jav…

Python线程锁

多线程适用于IO密集型&#xff0c;多线程实现方式有两种&#xff0c;详见下方例子 例子&#xff1a; import threading class MyThread(threading.Thread): def __init__(self, args): #使用super写法&#xff0c;按照父类.方法的方式直接重写 super(MyThread, self).__init__(…

session_id

<?php session_start(); echo session_id(); // 输出 dqr58dnuqj2gufvg4o3tmjb9v4?>设置 session_id()<?php session_id("NowaMagic"); session_start(); echo session_id(); ?>程序恢复session&#xff0c;首先要知道session_id&#xff0c;大家通过…

【青少年编程】【二级】寻找宝石

「青少年编程竞赛交流群」已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】或【Python】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 微信后台回复“资料下载”可获取以往学习的材料&#xff08;视频、代码、文档&…

零基础参加java培训主要学什么

互联网行业永远是一个需求非常大的行业&#xff0c;尤其是技术人员岗位&#xff0c;java技术岗一直很受大家的关注&#xff0c;不少学员都是零基础开始学&#xff0c;那么零基础参加java培训主要学什么呢?来看看下面的详细介绍。 零基础参加java培训主要学什么?其实无论学什么…