|
建立数据库连接以后我们须要访问和操作数据库——CRUD:Create、Read、Update、Delete。
为了执行命令我们创建Command对象,Comand对象要求执行Connection对象和CommandText对象。
SqlCommand cmd = new SqlCommand();
cmd.Connection = ConnectionObject;//比如我们先前建立的Conn对象
cmd.CommandText = CommandText;//比如一个Select语句
string CommandText = “Select * from friend”;
当然我们也可以使用存储过程,这个以后讨论。
另外的方法:
SqlCommand cmd = new SqlCommand(CommandText);
cmd.Connection = ConnectionObject;//比如我们先前建立的Conn对象
或者
SqlCommand cmd = new SqlCommand(CommandText,ConnecionObject);
另外还有一个包含三个参数的构造函数,我们不讨论。设计到的是事务处理。
有了Command对象以后我们须要执行操作,但是执行前请一定记得打开你的数据库连接,否则会有异常。SqlCommand对象提供下面4个执行方法:
l ExecuteNonQuery
l ExecuteScalar
l ExecuteReader
l ExecuteXmlReader
ExecuteNonQuery方法执行不返回结果的命令,通常使用它执行插入、删除、更新操作。
例如我们对contract数据库进行操作:
string sqlIns = “insert [friend] (Fname,Fphone,Faddress) values (‘雪冬寒’,’027-87345555’,’武汉大学宏博公寓’);
cmd.CommandText = sqlIns;
cmd.ExecuteNonQuery();
string sqlUpdate = “update [frined] set Faddress = ‘武汉大学’ where Fid = 1”;
cmd.CommandText = sqlUpdate;
cmd.ExecuteNonQuery();
string sqlDel = “delete from [friend] where Fid = 1;
cmd.CommandText = sqlDel;
cmd.ExecuteNonQuery();
注:如果你要测试以上代码,请自己书写,不要复制和粘贴,这样会存在文字错误(汉语和英语的符号问题)。
ExecuteScalar方法执行返回单个值的命令,例如我们须要统计系统中所有联系人的数量,就可以这样:
SqlCommand cmd = new SqlCommand(“select count(*) from friend”, Conn);
Conn.open();
int friendCount = (int) cmd.ExecuteScalar();
MessageBox.Show(“共” + friendCount.ToString() + “个联系人”);
说明:命令可以返回多个结果,此时ExecuteScalar方法将返回第一行第一个字段的值,同时其他所有值不可访问,这意味着如果象获得最好的性能,您应该构造适当的select查询,以便查询的结果集中尽可能少的包含额外的数据。如果只对单个返回值感兴趣,这个方法是首选的方法。另外该方法返回object类型数据,所有保证进行适当的类型转换是您的责任,否则您将得到异常。
ExecuteXmlReader方法执行返回一个xml字符串的命令。它将返回一个包含所返回的sml的System.Xml.XmlReader对象。这个方法我一无所知,不作讨论^_^。
(由于文章不能操作64k,我只能分开贴)
上一页 [1] [2] [C语言系列]NET 中C#的switch语句的语法 [办公软件]快速定位——书签 [办公软件]如何在Word中插入条形码——这招俺也刚学会 [办公软件]道高一尺,魔高一丈——轻松去掉(清除、添加)Word… [电脑技术]互联网交流之趣味对话——“论坛专用术语、称呼” [电脑技术]家贼易防,病毒难防——计算机中病毒之解决方案(与… [聊天工具]办公室情景剧 —— Miss.HR与Outlook_联络工具_Ou… [系统软件]托拽Explore中的文件到VB.net的窗口 [系统软件]Boost库在XP+Visual C++.net中的安装 [常用软件]新配色面板:Paint.Net3.0RC1官方下载
|