Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DAL-错误:初始化字符串的格式不符合从索引0开始的规范_C#_Wpf_Sql Server 2008 - Fatal编程技术网

C# DAL-错误:初始化字符串的格式不符合从索引0开始的规范

C# DAL-错误:初始化字符串的格式不符合从索引0开始的规范,c#,wpf,sql-server-2008,C#,Wpf,Sql Server 2008,我正在努力改进我的OOP语言。我有三个类,Main类,dbClass和RecordHandleClass。在主类中执行btnisert时,我将得到一个错误。如果我将调用代码放在同一个类中,或者使用静态方法,那么它就会工作。目前我不希望实现静态方法,所以我的问题是 1) 我如何克服这个问题和 2) 我哪里做错了 对象是在数据库中插入一些简单的文本 谢谢问题就在这里 CmdString = ("@INSERT INTO tblSimple (ID, FirstName, LastName) VA

我正在努力改进我的OOP语言。我有三个类,Main类,dbClass和RecordHandleClass。在主类中执行btnisert时,我将得到一个错误。如果我将调用代码放在同一个类中,或者使用静态方法,那么它就会工作。目前我不希望实现静态方法,所以我的问题是

1) 我如何克服这个问题和

2) 我哪里做错了

对象是在数据库中插入一些简单的文本

谢谢

问题就在这里

  CmdString = ("@INSERT INTO tblSimple (ID, FirstName, LastName) VALUES (@ID, @FirstName, @LastName)");
        using (SqlConnection cnn = new SqlConnection(CmdString)) 
您正在使用插入字符串初始化SqlConnection,您应该在此处使用连接字符串

dbClass看起来不像是可以编译的,但是您可以使用它来返回希望使用连接字符串正确初始化的SqlConnection

编辑:


你真的不需要创建新的SqlConnection,你可以使用你已经创建的连接

在哪一行你会得到这个错误?@SonerGönül-我不会得到这样的错误。当我执行BTN插入时,我得到一个错误。我不确定,但我认为Kev Hunter推荐了一个解决方案。所以我会试试看。@SonerGönül-我已经采纳了Kev Hunter的建议,我以为我已经传递了到RecordHandlerClass、cmdString的连接。请纠正我。我尝试过不使用新的SQLConnection,我得到了错误“error'cnn'名称在当前上下文中不存在”。如果你不介意的话,你可以给出什么建议。你是说我应该试着打电话给SQLConnection?完成此注释后,我将尝试使用它。我还以为我已传递了连接字符串CmdString?请纠正我。不,CmdString是您的insert语句,而不是您的连接字符串现在我在问自己如何将连接字符串传递给其他类。我已经修改了代码,但是没有实现不反映表的插入。我已经做了更新,让我知道你的想法。我不想猜测,因为我正试图理解架构