日期:2014-05-17  浏览次数:20550 次

ExecuteNonQuery: Connection 属性尚未初始化 问题
代码如下:
 OleDbConnection myConnectionString = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; data source=D:\\Visual Studio 2008\\WebSites\\4-21\\App_Data\\media.mdb");
        OleDbCommand myExecuteQuery = new OleDbCommand("insert into Media(MName,MUppath,MPlaypath,MImgpath) values (@MName, @MUppath,MPlaypath,@MImgpath)");
        myExecuteQuery.Parameters.Add("MName", MediaName);
        myExecuteQuery.Parameters.Add("MUppath", PublicMethod.upFile + fileName);
        myExecuteQuery.Parameters.Add("MPlaypath", PublicMethod.playFile + playName);
        myExecuteQuery.Parameters.Add("MImgpath", PublicMethod.imgFile + imgName);
        myConnectionString.Open();
        myExecuteQuery.ExecuteNonQuery();
        myConnectionString.Close();
        this.Dispose();


然后就出现了ExecuteNonQuery: Connection 属性尚未初始化 这个错误 我使用过类似的代码是成功插入过数据的 为什么这里就错了呢 

------解决方案--------------------
@MName
------解决方案--------------------
myExecuteQuery 根本不知道其关联的 Connection。你或者缺少设置 myExecuteQuery 的属性的一行代码,或者是初始化 myExecuteQuery 时少写了一个参数。

如果可能,写到一个SqlHelper中,以后调用时就再也不重复写这些代码了。
------解决方案--------------------
引用:
已经编辑不了了...刚才弄错代码了
[code=csharp]  OleDbConnection myConnectionString = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; data source=D:\\Visual Studio 2008\\WebSites\\4-21\\App_Data\……


你的 myExecuteQuery 压根就没有采用任何一种正常的方式为其传送 myConnectionString 这个对象。