执行带参数的sql语句
2012-03-06 12:57
281 查看
using System; using System.Data; using System.Data.SqlClient; namespace CommandParameters { class CommandParameters { static void Main() { // set up rudimentary data string fname = "Zachariah"; string lname = "Zinn"; SqlConnection conn = null; // define scalar query string sqlqry = @" select count(*) from employees "; // define insert statement string sqlins = @" insert into employees ( firstname, lastname ) values(@fname, @lname) "; // define delete statement string sqldel = @" delete from employees where firstname = @fname and lastname = @lname "; try { //创建连接。 conn = new SqlConnection(@" server = .; integrated security = true; database = northwind "); // create commands SqlCommand cmdqry = new SqlCommand(sqlqry, conn); SqlCommand cmdnon = new SqlCommand(sqlins, conn); //对于有参数的非查询语句需要先调用SqlCommand.Prepare(); cmdnon.Prepare(); // add parameters to the command for statements cmdnon.Parameters.Add("@fname", SqlDbType.NVarChar, 10); cmdnon.Parameters.Add("@lname", SqlDbType.NVarChar, 20); //打开数据库连接。 conn.Open(); //SqlCommand.ExecuteScalar()返回影响的行数。 Console.WriteLine( "Before INSERT: Number of employees {0}\n" , cmdqry.ExecuteScalar() ); // execute nonquery to insert an employee cmdnon.Parameters["@fname"].Value = fname; cmdnon.Parameters["@lname"].Value = lname; Console.WriteLine( "Executing statement {0}" , cmdnon.CommandText ); //执行了插入语句。 cmdnon.ExecuteNonQuery(); Console.WriteLine( "After INSERT: Number of employees {0}\n" , cmdqry.ExecuteScalar() ); //把cmdnon对应的sql语句设置为sqldel。 //注意参数未变。 cmdnon.CommandText = sqldel; Console.WriteLine( "Executing statement {0}" , cmdnon.CommandText ); cmdnon.ExecuteNonQuery(); //执行删除语句。 Console.WriteLine( "After DELETE: Number of employees {0}\n" , cmdqry.ExecuteScalar() ); } catch (SqlException ex) { Console.WriteLine(ex.ToString()); } finally { conn.Close(); Console.WriteLine("Connection Closed."); } } } } //所有代码来自书籍《Begining C# Databases From Novice to Professional》
相关文章推荐
- MyBatis中,传String类型参数到xml配置文件,并执行SQL语句后返回String类型的结果写法(jeesite)
- 把SQL语句整个做参数传进存储过程查询或者执行
- MYSQL之N参数和e参数之命令行执行sql语句
- 执行一条sql语句,参数传递越简单越好
- sql语句,exec执行 拼接的字符串 输出参数 问题
- 在C#中执行sql语句时传递参数的方法
- 执行带参数的Sql语句(防止注入)
- 动态执行SQL语句,并输出参数
- 解决mybatis执行SQL语句部分参数返回NULL问题
- 对access执行带参数的sql语句
- asp执行带参数的sql语句实例
- mysql 存储过程 根据参数 动态执行sql语句
- 一次ORA-4030问题诊断及解决【解决思路不错,说明了对象的统计信息与优化器的优化操作(即选择执行一个SQL语句在该优化参数环境下最佳的执行计划)间的关系】
- 在c#中执行sql语句时传递参数的小经验
- 在c#中执行sql语句时传递参数的小经验
- 解决存储过程中SQL字符串语句执行引入参数的问题
- MySQL中limit使用动态参数的解决方法(拼接SQL字符串语句来执行SQL)
- 执行多条SQL语句,实现数据库事务(不可传入Sql参数)
- MyBatis主流程分析之(三)-准备SQL语句和参数替换、执行
- 执行多条SQL语句,实现数据库事务(不可传入Sql参数)