zoukankan      html  css  js  c++  java
  • VS连接SQL Server数据库,增删改查详细教程(C#代码)_转载

    工具:
    1.Visual Studio (我使用的是vs2013)
    2.SQL Server  (我使用的是sql server2008)
    操作:
    1.打开SQL Server,打开后会看到数据库的初始链接界面。(如下图)
     
    2.复制上图中的“服务器名称”,然后点击“连接”,进入数据库。
    3.打开vs,创建好自己要用的项目,我写的项目名称叫做:‘RestaurantSystem’
    4.工具->连接到数据库->在服务器名里面,粘贴复制的服务器名
    5.在下面选择自己要连接的数据库名称(也可以手动输入,我连接的是我自己创建的数据库:RestaurantDBMS),确定。
     
    6.打开“服务器资源管理器”,会看到有下图信息,点击“表”可以看到数据库里面创建的数据表
     
    连接代码:
    完后上述操作后只是把数据库添加到了vs里,要想在项目里对数据库进行编辑,还需要写一些代码。
    1.打开自己的项目,打开解决方案资源管理器,右击项目名称添加一个类文件(类名根据自己项目取)
     
    2.打开类文件,写入以下代码。
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Data.SqlClient;
    using System.Data;              //这几个命名空间是一定要有的;
    namespace RestaurantSystem
    {
        class ResM        //这是我项目里写的,命名为ResM;
        {
            private string MySqlCon =              //在下面我会介绍这部分怎么填写;
            public DataTable ExecuteQuery(string sqlStr)      //用于查询;其实是相当于提供一个可以传参的函数,到时候写一个sql语句,存在string里,传给这个函数,就会自动执行。
            {
                SqlConnection con = new SqlConnection(@MySqlCon);
                con.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = con;
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = sqlStr;
                DataTable dt = new DataTable();
                SqlDataAdapter msda;
                msda = new SqlDataAdapter(cmd);
                msda.Fill(dt);
                con.Close();
                return dt;
            }
            public int ExecuteUpdate(string sqlStr)      //用于增删改;
            {
                SqlConnection con = new SqlConnection(@MySqlCon);
                con.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = con;
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = sqlStr;
                int iud = 0;
                iud = cmd.ExecuteNonQuery();
                con.Close();
                return iud;
            }
        }
    }
    3.修改代码里的MySqlCon,这一步用来连接到数据库,至关重要。
    在“服务器资源管理”处选中数据库,然后可以在“属性”窗口找到“连接字符串”,复制其内容,赋给MySqlCon。比如我修改后是:
    MySqlCon = "Data Source=DESKTOP-0RC5ORD\SQLEXPRESS;Initial Catalog=RestaurantDBMS;Integrated Security=True";
     
    完成这些操作后,就可以在form里写代码来修改数据库了。
    增删改查:
    增删改查的实现都是sql语句,把写好的sql语句赋给字符串,然后执行。这里需要注意的是,增删改是用上面的
    ExecuteUpdate()函数,而查询是用的ExecuteQuery()函数。接下来以我的代码进行举例:
    1.查询,不显示查询结果(数据表名字是ADMINISTRATE):
    String str1 = Account.Text;       //form里面有输入账号密码的文本框,这一步是获取其内容;
    String str2 = Password.Text;
    String str3 = "select A#,PASS FROM ADMINISTRATE WHERE A#='" + str1 + "'AND PASS='" + str2 + "'";   //编写sql语句,这句话读者可以输出一下,其实结果是一个标准的sql语句,所以读者在编写自己代码的时候也需要这样的格式来写一个sql,赋值给一个string变量,然后传给ExecuteQuery来执行;
                    ResM r1 = new ResM();   //我写的那个用来连接数据库的类是ResM,所以用其创建对象;
                    DataTable d1 = new DataTable();   //因为查询是会有结果返回的,所以需要用DataTable的对象来承接返回的结果。
                    d1 = r1.ExecuteQuery(str3);          //使用ExecuteQuery()执行sql语句;
                    if (d1 != null && d1.Rows.Count > 0)    //查询有结果
                    {
                        MessageBox.Show("欢迎使用!", "登录成功",
                                   MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
                        Form StoMes = new Storage();     //这三行代码是实现界面跳转;
                        Hide();
                        StoMes.Show();
                    }
    2.查询,显示查询结果(实现这一步需要在form里面添加dataGridView控件,用来存放结果)
    String str1 = textBox1.Text;
    String str2 = "SELECT NAME,SEX FROM PERSON WHERE P#='"+ str1 +"'";
                        d1 = r1.ExecuteQuery(str2);
                        if(d1!=null&&d1.Rows.Count>0)
                        {
                            dataGridView1.DataSource = d1;   //将查询结果放入到dataGridView;
                }
    dataGridView控件的显示格式可以通过代码来修改,自行百度,在此不做介绍。
    3.增删改非常相似,只要有数据库的基础,可以自行编写,在此只举例增加数据;
    String str1 = textBox1.Text; //人员编号;
    String str2 = textBox2.Text;  //人员姓名;
    String str3 = textBox3.Text;  //人员性别;
    String str4 = "INSERT INTO PERSON (P#,PNAME,SEX) VALUES('" +str1 + "','" + str2 + "','" + str3 + "')";
    ResM r2 = new ResM();
     int d2 = r2.ExecuteUpdate(str3);//执行后会有返回值,是int类型,如果执行失败会返回0;
     if (d2 != 0)
     {
          MessageBox.Show("添加成功!", "添加结果",
          MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    else
    {
          MessageBox.Show("添加失败!此工号已存在!", "添加结果",
          MessageBoxButtons.OK, MessageBoxIcon.Information);
    }

    转载: https://blog.csdn.net/kiss__soul/article/details/80316788
  • 相关阅读:
    Java实现 LeetCode 807 保持城市天际线 (暴力)
    ASP.NET关于书籍详情和删除的Demo(HttpHandler进行页面静态化[自动生成html网页]+Entity Framework通过类创建数据库+EF删查)
    ASP.NET关于书籍详情和删除的Demo(HttpHandler进行页面静态化[自动生成html网页]+Entity Framework通过类创建数据库+EF删查)...
    ASP.NET关于书籍详情和删除的Demo(HttpHandler进行页面静态化[自动生成html网页]+Entity Framework通过类创建数据库+EF删查)...
    Java实现 LeetCode 806 写字符串需要的行数 (暴力模拟)
    Java实现 LeetCode 806 写字符串需要的行数 (暴力模拟)
    Java实现 LeetCode 806 写字符串需要的行数 (暴力模拟)
    Java实现 LeetCode 805 数组的均值分割 (DFS+分析题)
    .net web api返回结果为json
    httpclient与webapi
  • 原文地址:https://www.cnblogs.com/henuliulei/p/10309433.html
Copyright © 2011-2022 走看看