ADO.net 问题,这个怎么报错?错误在哪里,求高手指点,谢谢
using System;using System.Data;
using System.Data.SqlClient;
namespace CommandParameters
{
class CommandParameters
{
static void Main()
{
//创建样例数据:
string fname = "Zachariah";
string lname = "Zinn";
SqlConnection conn = new SqlConnection(@"
server=.\sqlexpress;
integrated security=true;
database=northwind
");
string sqlqry = @"
select
count(*)
from
employees
";
string sqlins = @"
insert into employees
{
firstname,
lastname
}
values(@fname,@lname)
";
string sqldel = @"
delete from employees
where
firstname=@fname
and
lastname=@lname
";
SqlCommand cmdqry = new SqlCommand(sqlqry,conn);
SqlCommand cmdnon = new SqlCommand(sqlins,conn);
cmdnon.Prepare(); //创建命令的一个准备版本
//将参数@fname和@lname添加到待参数化的命令对象的Parameters集合属性中去:
cmdnon.Parameters.Add("@fname",SqlDbType.NVarChar,10);
cmdnon.Parameters.Add("@lname",SqlDbType.NVarChar,20);
try
{
conn.Open();
Console.WriteLine("Before INSERT:Number of employees {0}\n",cmdqry.ExecuteScalar());
//执行命令前设定参数值:
cmdnon.Parameters["@fname"].Value = fname;
cmdnon.Parameters["@lname"].Value = lname;
Console.WriteLine("Executing statement {0}",);
cmdnon.ExecuteNonQuery();
Console.WriteLine("After INSERT:Number of employees {0}\n",cmdqry.ExecuteScalar());
= sqldel;
Console.WriteLine("Executing statement {0}",);
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.");
}
Console.ReadKey();
}
}
}