【知识要点】
(1)添加记录
【问题提出】
学会了读取表中的内容,但表中的内容又是从哪来的?噢,对!是录进来的的,让我们一起看一下如果为客户表(Client)中添加一条记录。
回顾一下Client表的表结构。
【在线指导】
本章的核心是插入记录,主要通过INSERT INTO ……和Comm.ExecuteNonQuery()实现。
1、设计界面
(1)打开Hello项目,单击“启动页>最近使用的项目>Hello”。
(2)在“解决方案资源管理器”中添加“SqlAddRecord.aspx”页面。
(3)从工具箱中拖8个文本框、1个按钮Button到SqlAddRecord.aspx页面。
A、文本框控件的ID属性分别为:tbClientCode、tbClientName、tbPhone、tbEmail、tbContacter、tbMobile、tbAddress、tbPostcode。
B、控件“保存”按钮:ID属性为“btnSave”;
2、添加代码
(1)双击页面上的“保存”按钮。
我们在btnSave_Click()中间输入:
//获取客户信息---------------------------
string ClientCode=tbClientCode.Text;
string ClientName=tbClientName.Text;
string Phone=tbPhone.Text;
string Email=tbEmail.Text;
string Contacter=tbContacter.Text;
string Mobile=tbMobile.Text;
string Address=tbAddress.Text;
string PostCode=tbPostCode.Text;
//---------------------------------------
//连接SQL SERVER
string ConnSqlServer = "Server=www.woshicainiao.net;Database=SuperMarket;User ID=sa;Pwd=sigmasoft";
SqlConnection Conn = new SqlConnection(ConnSqlServer);
//打开
Conn.Open();
//插入记录---------------------------
string ClientSql = "INSERT INTO Client VALUES(@ClientCode,@ClientName,@Phone,@Email,@Contacter,@Mobile,@Address,@PostCode)";
SqlCommand Comm = new SqlCommand(ClientSql, Conn);
Comm.Parameters.Add("@ClientCode", SqlDbType.VarChar, 8);
Comm.Parameters.Add("@ClientName", SqlDbType.VarChar, 50);
Comm.Parameters.Add("@Phone", SqlDbType.VarChar, 30);
Comm.Parameters.Add("@Email", SqlDbType.VarChar, 30);
Comm.Parameters.Add("@Contacter", SqlDbType.VarChar, 30);
Comm.Parameters.Add("@Mobile", SqlDbType.VarChar, 11);
Comm.Parameters.Add("@Address", SqlDbType.VarChar, 50);
Comm.Parameters.Add("@PostCode", SqlDbType.Char, 6);
Comm.Parameters["@ClientCode"].Value = ClientCode;
Comm.Parameters["@ClientName"].Value = ClientName;
Comm.Parameters["@Phone"].Value = Phone;
Comm.Parameters["@Email"].Value = Email;
Comm.Parameters["@Contacter"].Value = Contacter;
Comm.Parameters["@Mobile"].Value = Mobile;
Comm.Parameters["@Address"].Value = Address;
Comm.Parameters["@PostCode"].Value = PostCode;
//---------------------------------------
//执行命令-------------------------------
Comm.ExecuteNonQuery();
//---------------------------------------
//关闭数据库
Conn.Close();
讲解:
①第一步:获取客户信息
代码虽然不少,但只是从文本框获取值而已。
②第二步:连接数据库、打开数据库
老一套,我们不再重复
③第三步:插入记录
string ClientSql = "INSERT INTO Client VALUES(……)";
SqlCommand Comm = new SqlCommand(ClientSql, Conn);
Comm.Parameters.Add("@ClientCode", SqlDbType.VarChar, 8);
Comm.Parameters["@ClientCode"].Value = ClientCode;
我把插入记录部分精简为上面4个语句:
A、第一个语句相当于一条插入语句,注意语法;
B、第二个语句相当于在SQL SERVER的“!执行”按钮;
C、第三个语句指@ClientCode的数据类型与长度;(注:这个和表中的列名可不一样,但可理解为参数) D、第四个语句完成为这一列赋值。
④第四步:执行命令
Comm.ExecuteNonQuery();
⑤关闭数据库
Conn.Close();
(5)输入完以下内容,单击“保存”按钮。
验证:使用SQL SERVER查询编辑器执行“SELECT * FROM Client”: