在实践中学习:工作需要桌面小软件——开发中不熟练的知识点
1.windows窗口跳转新窗口
private void button2_Click(object sender, EventArgs e) { Form3 a = new Form3(); a.ShowDialog(); }
2.dataGridView连接数据库
通过存储过程查询显示数据库信息: private void button1_Click(object sender, EventArgs e) { string a1 = SoLable.Text; string strsql = "server=【服务器名】;database=【数据库名称】;uid=【登录账号】;pwd=【登录密码】;";//数据库链接字符串 string sql = "RETURN_FAIL";//要调用的存储过程名 SqlConnection conStr = new SqlConnection(strsql);//SQL数据库连接对象,以数据库链接字符串为参数 SqlCommand comStr = new SqlCommand(sql, conStr);//SQL语句执行对象,第一个参数是要执行的语句,第二个是数据库连接对象 comStr.CommandType = CommandType.StoredProcedure;//因为要使用的是存储过程,所以设置执行类型为存储过程 //依次设定存储过程的参数 comStr.Parameters.Add("@NO", SqlDbType.VarChar).Value = a1; conStr.Open();//打开数据库连接 SqlDataAdapter myda = new SqlDataAdapter(comStr); // 实例化适配器 DataTable dt = new DataTable(); // 实例化数据表 myda.Fill(dt); // 保存数据 dataGridView1.DataSource = dt; // 设置到DataGridView中 conStr.Close(); // 关闭数据库连接 }
通过数据库查询语句显示数据库信息: private void button1_Click(object sender, EventArgs e) { Skulable.Focus(); string a1 = SKUtext.Text.ToString(); string a2 = Locationlable.Text.ToString(); string a3 = Statuslable.SelectedItem.ToString(); string t1; String connsql = "server=【服务器名称】;database=【数据库名称】;uid=【登录账号】;pwd=【登录密码】;"; try { using (SqlConnection conn = new SqlConnection()) { conn.ConnectionString = connsql; conn.Open(); // 打开数据库连接 String sql = "select * from 库存信息包含库位属性 WHERE "+t1;// 查询语句 SqlDataAdapter myda = new SqlDataAdapter(sql, conn); // 实例化适配器 DataTable dt = new DataTable(); // 实例化数据表 myda.Fill(dt); // 保存数据 dataGridView1.DataSource = dt; // 设置到DataGridView中 conn.Close(); // 关闭数据库连接 } } catch (Exception ex) { MessageBox.Show("错误信息:" + ex.Message, "出现错误"); } }
3.dataGridView显示行序号
点击datagridview控件的事件,双击RowPostPaint事件,代码如下(复制粘贴即可):
private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) { System.Drawing.Rectangle rectangle = new System.Drawing.Rectangle(e.RowBounds.Location.X, e.RowBounds.Location.Y, dataGridView1.RowHeadersWidth - 4, e.RowBounds.Height); TextRenderer.DrawText(e.Graphics, (e.RowIndex + 1).ToString(), dataGridView1.RowHeadersDefaultCellStyle.Font, rectangle, dataGridView1.RowHeadersDefaultCellStyle.ForeColor, TextFormatFlags.VerticalCenter | TextFormatFlags.Right); }