工具:
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(str4);//执行后会有返回值,是int类型,如果执行失败会返回0;
if (d2 != 0)
{
MessageBox.Show(“添加成功!”, “添加结果”,
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show(“添加失败!此工号已存在!”, “添加结果”,
MessageBoxButtons.OK, MessageBoxIcon.Information);
}