在实践中学习:工作需要桌面小软件——开发中不熟练的知识点

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); 
        }

  

 

posted @ 2019-02-13 13:51  ww栗子  阅读(170)  评论(0编辑  收藏  举报