、定义OleDbCommand类型变量:MyCommand
要对数据库进行增加、删除、修改操作我们还需要根据MyConnectio类型定义个OleDbCommand或者SqlCommand对象(请注意如果MyConnection是OleDbConnection类型那么只能用OleDbCommand;如果MyConnection是SqlConnection类型那么那么只能用SqlCommand这里假设MyConnection是OleDbConnection类)
思路方法
你可以象拖放MyConnection样拖放个OleDbCommand并命名为 MyCommand
思路方法 2
在(关联文件).CS文件中protected .Data.OleDb.OleDbConnection MyConnection;下面手动添加:
protected .Data.OleDb.OleDbCommand MyCommand;在
private void InitializeComponent中
this.MyConnection =.Data.OleDb.OleDbConnection;下行下面手动添加:
this.MyCommand = .Data.OleDb.OleDbCommand;即可完成对MyCommand定义
介绍说明:MyCommand作用是用来执行SQL命令
2、利用定义MyConnectio和MyCommand对数据库进行增加、删除、修改
首先我们需要连接并打开个数据库(有关数据库连接和打开操作请察看我们以前文章)
打开数据库:
MyConnectio.Open;然后我们需要给MyCommand指定要执行SQL命令 :
MyCommand.CommandText = "delete from admin";接着我们需要给MyCommand指定数据源(对那个数据库执行SQL命令):
MyCommand.Connection = MyConnection;然后我们执行MyCommand命令即可:
MyCommand. ExecuteNonQuery;如果我们在执行还有
"delete from admin";后需要接着执行
“insert o admin (Admin_Code,Admin_Pwd) values(‘aa’,’bb’)”则我们只要再次指定MyCommand指定要执行SQL命令 :
MyCommand.CommandText =“insert o admin (Admin_Code,Admin_Pwd) values(‘aa’,’bb’)”然后执行MyCommand. ExecuteNonQuery;即可(由于数据库未关闭所以我们不需要也不可以再次MyConnectio.Open;同理由于没有改变MyCommand数据源所以我们也没有必要再次指定MyCommand.Connection = MyConnection;)
下面我们将详细讲解如何在Page_Load中对数据库增加、删除、修改最后我们再来整理总结下ExecuteNonQuery,ExecuteScalar,ExecuteReader使用方法
1、 增加新记录
private void Page_Load(object sender, .EventArgs e)
{
MyConnection.Open;’打开数据库
MyCommand1.CommandText = "insert o admin values(‘aaddq‘,‘as‘,‘ss‘)";
MyCommand1.Connection = MyConnection;
MyCommand1.ExecuteNonQuery;’由于增加了条记录所以返回1
//或者MyCommand1.ExecuteReader;先增加条记录然后返回个.Data.OleDb.OleDbDataReader类型对象该对象为:EOF
//或者MyCommand1. ExecuteScalar;先增加条记录返回未实列化对象
MyConnection.Close;
}2、 删除现有数据
private void Page_Load(object sender, .EventArgs e)
{
MyConnection.Open;’打开数据库
MyCommand1.CommandText = "delete * from admin";
MyCommand1.Connection = MyConnection;
MyCommand1.ExecuteNonQuery;’由于删除了n条记录所以返回n
//或者MyCommand1.ExecuteReader;先删除n条记录然后返回个.Data.OleDb.OleDbDataReader类型对象该对象为:EOF
//或者MyCommand1. ExecuteScalar;先删除n条记录返回未实列化对象
MyConnection.Close;
}
3、 修改现有数据
private void Page_Load(object sender, .EventArgs e)
{
MyConnection.Open;’打开数据库
MyCommand1.CommandText = "update admin admin_code=’212’,Admin_pwd=’43’ where admin_code=’23’";
MyCommand1.Connection = MyConnection;
MyCommand1.ExecuteNonQuery;’由于修改了1条记录所以返回n
//或者MyCommand1.ExecuteReader;先修改了1条记录然后返回个.Data.OleDb.OleDbDataReader类型对象该对象为:EOF
//或者MyCommand1. ExecuteScalar;先修改了1条记录返回未实列化对象
MyConnection.Close;
}
3、有关MyCommandExecuteNonQuery,ExecuteScalar,ExecuteReader思路方法区别:
1、ExecuteNonQuery:执行SQL返回个整型变量如果SQL是对数据库记录进行操作那么返回操作影响记录条数如果是
SQL="CREATE TABLE LookupCodes (code_id small IDENTITY(1,1) PRIMARY KEY CLUSTERED, code_desc varchar(50) NOT NULL)"那么在表创建成功后该思路方法返回 –1
例如:
private void Page_Load(object sender, .EventArgs e)
{
MyConnection.Open;’打开数据库
MyCommand1.CommandText = "CREATE TABLE LookupCodes (code_id small IDENTITY(1,1) PRIMARY KEY CLUSTERED, code_desc varchar(50) NOT NULL)"; MyCommand1.Connection = MyConnection;
MyCommand1.ExecuteNonQuery;’首先建立个LookupCodes表然后返回-1
//或者MyCommand1.ExecuteReader;首先建立个LookupCodes表然后返回个.Data.OleDb.OleDbDataReader类型对象该对象为:EOF
//或者MyCommand1. ExecuteScalar;首先建立个LookupCodes表返回未实列化对象
MyConnection.Close;
}
2、 ExecuteScalar:执行SQL(如果SQL是查询Select)返回查询结果第行第列如果(如果SQL不是查询Select)那么返回未实列化对象对象未实列化所以返回结果不能,不能Equals(null)也就是说返回结果没有任何作用
3、 executeReader思路方法执行SQL(如果SQL是查询Select)返回查询结果集合类型是.Data.OleDb.OleDbDataReader你可以通过此结果获取查询数据如果(如果SQL不是查询Select)那么返回个没有任何数据.Data.OleDb.OleDbDataReader类型集合(EOF)
4、整理总结:
ASP.Net中对于数据库操作思路方法很多要实现统个目标区别人可能会采取区别思路方法就好像在ASP中有人喜欢用RS.ADDNEW有人喜欢用”Insert Into”主要是看个人习惯当然在性能上区别思路方法可能会存在较大差别这个只能靠我们在平常学习中点滴积累经验另外顺便说下ASP.Net页提供类似如下方式操作思路方法:
OleDbCommand2.Parameters("au_id").Value = TextBox1.Text
OleDbCommand2.Parameters("au_lname").Value = TextBox2.Text
OleDbCommand2.Parameters("au_fname").Value = TextBox3.Text
OleDbCommand2.Parameters("phone").Value = TextBox4.Text
OleDbCommand2.Parameters("address").Value = TextBox5.Text
OleDbCommand2.Parameters("city").Value = TextBox6.Text
OleDbCommand2.Parameters("st").Value = TextBox7.Text
OleDbCommand2.Parameters("zip").Value = TextBox8.Text
OleDbCommand2.Parameters("contract").Value = CheckBox1.Checked
cmdresults = OleDbcommand2.ExecuteNonQuery
最新评论