ADO.NET_Command对象
来源:互联网 发布:第二次海湾战争知乎 编辑:程序博客网 时间:2024/06/14 19:13
原文地址:http://www.dingos.cn/index.php?topic=1286.0
与数据库建立连接之后,可以使用 Command 对象执行命令并从数据源返回结果
【Command对象提供程序】
.NET Framework 数据提供程序Command 类SQL 数据提供程序SqlCommandOLE DB 数据提供程序OleDbCommandOracle 数据提供程序OracleCommandODBC 数据提供程序OdbcCommand
可以重置 CommandText 属性并重复使用 SqlCommand 对象。但是,在执行新的命令或先前命令之前,必须关闭 SqlDataReader。
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "myStoredProcedureName"; //存储过程
cmd.CommandText = "authors"; //表名
cmd.CommandTest = "Select * From authors"; //SQL语句
SqlConnection conn = new SqlConnection();
SqlCommand cmd = new SqlCommand("myCommandText");
cmd.Connection = conn;
SqlCommand cmd = new SqlCommand();
SqlCommand cmd = new SqlCommand("myCommandText");
SqlConnection conn = new SqlConnection();
SqlCommand cmd = new SqlCommand( ("myCommandText", conn);
SqlConnection conn = new SqlConnection();
SqlTransaction trans = conn.BeginTransaction();
SqlCommand cmd = new SqlCommand( ("myCommandText", conn);
获取或设置要对数据源执行的 Transact-SQL 语句、表名或存储过程。
获取或设置一个值,该值指示如何解释 CommandText 属性。默认为Text
获取或设置 SqlCommand 的此实例使用的 SqlConnection。
获取 SqlParameterCollection。
获取或设置将在其中执行 SqlCommand 的 SqlTransaction。
对连接执行 Transact-SQL 语句并返回受影响的行数。
查询不返回结果集或者不返回除了所影响的行数之外的任何值。用于Insert、Update和Delete返回结构为影响的行数;其他语句如果执行成功,返回-1
用于执行将返回一个值的命令。该方法用于执行任何一条命令且返回结果集的第1行第1列中的值。
用于执行命令,并将结果集作为DataReader对象返回。
将结果作为XMLReader对象返回。
SqlCommand objComm=new SqlCommand();
objComm.CommandText="SQL 语句";
objComm.CommandType=CommandType.Text ;
objComm. Connection=objConnection;
SqlCommand objComm=new SqlCommand();
objComm.CommandText="sp_DeleteName";
objComm.CommandType=CommandType. StoredProcedure ;
objComm. Connection=objConnection;
Sp_DeleteName是在SQL Server服务器上创建的存储过程
参数化查询对于执行性能, 防止Sql注入攻击都非常重要.ADO.NET数据提供程序一般都支持参数化查询,但各自的类型有各自的约定, 如SqlXX的支持命名参数, 而对于Access访问使用OLEDBXX则只支持匿名参数.
SqlCommand cmd=new SqlCommand(
SqlParameter spUn = cmd.Parameters.Add("@un", SqlDbType.VarChar, 50);
spUn.Value = "Jack";
SqlParameter spPwd = cmd.Parameters.Add("@un", SqlDbType.VarChar, 50);
spPwd.Value = "123";
con.Open();
int count=(int)cmd.ExecuteScale();
con.Close();
if(count>0)
//成功登录
else
//用户名或密码不对
1. Command对象的CommandText属性要设为“存储过程名”
2. Command对象的CommandType属性要设为“CommandType.StoredProcedure”
3. 如果有输入参数则需要为输入参数赋值
spID.Direction = ParameterDirection.Output; // 指明参数为输出参数
cmd.Parameters.Add(spID); // 将参数添加的参数集中
注意:如果使用ExecuteReader执行Command命令返回DataReader对象,要获取输出参数的值需要将DataReader关闭
SqlConnection con=new SqlConnection("Server=.;Database=northwind;uid=sa;pwd=;");
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter pa1=cmd.Parameters.Add("@CategoryName", SqlDbType.NVarChar, 15);
pal.Value = "Beverages";
con.Open();
SqlDataReader rd=cmd.ExecuteReader();
Console.WriteLine("{0},{1}",rd.GetName(0),rd.GetName(1));
while (myReader.Read()){
Console.WriteLine("{0},${1}",rd.GetString(0), rd.GetDecimal(1));
}
rd.Close();
con.Close();
- ADO.NET_Command对象
- ADO对象
- ADO 对象模型总结
- ADO.NET对象模型
- ADO对象中的常量
- ADO.NET对象模型
- ado 对象结构
- Ado访问Ole对象
- ADO.Recordset对象方法
- ADO:Field 对象
- ADO.NET对象模型
- ADO三大对象
- ADO:Stream 对象
- ADO对象模型总结
- ADO.NET基本对象
- ADO Command 对象
- ADO Recodset对象-LockType
- ADO Recodset对象-CursorType
- NOR和NAND 存储器的联系与区别
- 重生之官路
- 包的设计原则总结(二) -- 关注包的耦合性
- 使用Netbean提高代码开发效率—宏映射和常用快捷键目录
- HTML标签的type属性
- ADO.NET_Command对象
- CSS完美兼容IE6/IE7/FF的通用方法——CSS Hack
- 普通电阻触摸屏多点触摸低成本解决方案
- ALV LVC 单元格 F4帮助
- 页面滚动信息框
- hlist浅析
- 比较好用的一个jaspereport模板 生成html页面模板
- xp系统引导文件丢失,通过恢复控制台修复的方法
- 数组的操作