注册 登录
编程论坛 SQL Server论坛

ADO.net 问题,这个怎么报错?错误在哪里,求高手指点,谢谢

tianqy 发布于 2012-10-23 17:10, 454 次点击
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();
        }
    }
}
只有本站会员才能查看附件,请 登录
9 回复
#2
tianqy2012-10-23 17:20
#3
志慧2012-10-24 00:08
string sqlins = @"
                insert into employees
                {
                    firstname,
                    lastname
                }
                values(@fname,@lname)
                ";
改为  :
 string sqlins = @"
                insert into employees
                (
                    firstname,
                    lastname
                )
                values(@fname,@lname)
                ";
#4
志慧2012-10-24 00:09
语法有误!
#5
志慧2012-10-24 00:10
string sqlins = @"
                insert into employees
                {
                    firstname,
                    lastname
                }
                values(@fname,@lname)
                ";
改为  :
 string sqlins = @"
                insert into employees
                (
                    firstname,
                    lastname
                )
                values(@fname,@lname)
                ";
#6
tianqy2012-10-24 08:16
回复 5楼 志慧
string sqlins = @"
                insert into employees
                {
                    firstname,
                    lastname
                }
                values(@fname,@lname)
                ";

谢谢,我是这样写的啊,论坛显示有点问题
#7
tianqy2012-10-24 08:16
回复 6楼 tianqy
看不出哪里语法错误
#8
tianqy2012-10-24 08:18
回复 3楼 志慧
上下好像没区别
#9
tianqy2012-10-24 08:21
回复 5楼 志慧
啊呀 啊呀 谢谢了 知道了 圆括号写成大括号了,罪过罪过,谢谢你了 非常感谢
#10
d473414642012-10-25 16:18
学习学习~~~~~~~~~~~~~~···
1