工具:



1.Visual Studio (我使用的是vs2013)



2.SQL Server  (我使用的是sql server2008)



操作:



1.打开SQL Server,打开后会看到数据库的初始链接界面。(如下图)



 

使用VS进行SqlServer数据库架构比较并且导出数据 vs sql数据库查询_System

 



2.复制上图中的“服务器名称”,然后点击“连接”,进入数据库。



3.打开vs,创建好自己要用的项目,我写的项目名称叫做:‘RestaurantSystem’



4.工具->连接到数据库->在服务器名里面,粘贴复制的服务器名



5.在下面选择自己要连接的数据库名称(也可以手动输入,我连接的是我自己创建的数据库:RestaurantDBMS),确定。



 

使用VS进行SqlServer数据库架构比较并且导出数据 vs sql数据库查询_System_02

 



6.打开“服务器资源管理器”,会看到有下图信息,点击“表”可以看到数据库里面创建的数据表



 

使用VS进行SqlServer数据库架构比较并且导出数据 vs sql数据库查询_System_03

 



连接代码:



完后上述操作后只是把数据库添加到了vs里,要想在项目里对数据库进行编辑,还需要写一些代码。



1.打开自己的项目,打开解决方案资源管理器,右击项目名称添加一个类文件(类名根据自己项目取)



 

使用VS进行SqlServer数据库架构比较并且导出数据 vs sql数据库查询_数据库_04

 



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";



 

使用VS进行SqlServer数据库架构比较并且导出数据 vs sql数据库查询_数据库_05

 



完成这些操作后,就可以在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); 
  
}