zoukankan      html  css  js  c++  java
  • C#访问SQL——三种更新记录的方法 Joyce

    用户通过C#Windows窗体应用程序访问并更新数据库可有三种方式,下面是三种方式的主要代码:

    1.拼接字符串

            private void button1_Click_1(object sender, EventArgs e)
            {
                //信息检查
                if (this.CheckInfo())
                {
                    //取值
                    string userId = this.textBox1.Text.Trim();
                    string userName = this.textBox2.Text.Trim();
                    //新建连接对象
                    SqlConnection conn = new SqlConnection();
                    conn.ConnectionString = "Data Source=(local);Initial Catalog=student;Integrated Security=SSPI";
                    //拼接命令字符串
                    string updateQuery = "update student set sname='" + userName + "'"+"where sno='" + userId+"'";
                    //新建命令对象
                    SqlCommand cmd = new SqlCommand(updateQuery, conn);
                    conn.Open();
                    //保存执行结果
                    int RecordsAffected = cmd.ExecuteNonQuery();
                    conn.Close();
                    //提示结果
                    Alert("更新数据数为" + RecordsAffected.ToString());
                }
            }

    2.使用参数

            private void button2_Click(object sender, EventArgs e)
            {
                //取值
                string userId = this.textBox1.Text.Trim();
                string userName = this.textBox2.Text.Trim();
                //新建连接对象
                SqlConnection conn = new SqlConnection();
                conn.ConnectionString = "Data Source=(local);Initial Catalog=Student;Integrated Security=SSPI";
                //拼接命令字符串
                string updateQuery = "update student set sname=@userName where sno=@userId";
                //新建命令对象
                SqlCommand cmd = new SqlCommand(updateQuery, conn);
                //添加参数
                cmd.Parameters.Add(new SqlParameter("@userName", userName));
                cmd.Parameters.Add(new SqlParameter("@userId", userId));
                conn.Open();
                //保存执行结果
                int RecordsAffected = cmd.ExecuteNonQuery();
                conn.Close();
                Alert("更新数据数为" + RecordsAffected);
            }

    3.使用存储过程

            private void button3_Click(object sender, EventArgs e)
            {
                //信息检查
                if (this.CheckInfo())
                {
                    //取值
                    string userId = this.textBox1.Text.Trim();
                    string userName = this.textBox2.Text.Trim();
                    //新建连接对象
                    SqlConnection conn = new SqlConnection();
                    conn.ConnectionString = "Data Source=(local);Initial Catalog=Student;Integrated Security=SSPI";
                    //新建命令对象
                    SqlCommand cmd = new SqlCommand("UpdateStudentInfo", conn);
                    //指定命令类型为存储过程
                    cmd.CommandType = CommandType.StoredProcedure;
                    //添加参数
                    cmd.Parameters.Add(new SqlParameter("@userName", userName));
                    cmd.Parameters.Add(new SqlParameter("@userId", userId));
                    conn.Open();
                    //保存执行结果
                    int RecordsAffected = cmd.ExecuteNonQuery();
                    conn.Close();
                    //提示结果
                    Alert("更新数据数为" + RecordsAffected);
                }

    数据库中新建存储过程:

    CREATE PROCEDURE UpdateStudentInfo
        (
        @userName  nvarchar(20), 
        @userId nvarchar(20)
        )
    AS
      Update student
      set sname=@userName where sno=@userId
    GO
  • 相关阅读:
    轻松自动化---selenium-webdriver(python) (八)
    Ubuntu 18.04 LTS 启用 WakeOnLAN
    lower_bound 和 upper_bound
    [LeetCode 201.] Bitwise AND of Numbers Range
    [LeetCode 162.] Find Peak Element
    [LeetCode 33. 81. 153. 154.] 旋转数组中的二分查找
    C++ unordered_map 的一个疑问
    [LintCode 386.] 最多有k个不同字符的最长子字符串
    [LintCode 550.] 最常使用的K个单词II
    [LintCode 1029.] 寻找最便宜的航行旅途(最多经过k个中转站)
  • 原文地址:https://www.cnblogs.com/joycelee/p/2747590.html
Copyright © 2011-2022 走看看