我正在创建一个将数据存储在本地数据库中的应用程序。这些项目在同一应用程序中通过单独的表单添加。在运行代码以将数据插入名为Inventory
的表中时,我遇到了麻烦。这是我的代码:
_instance = this;
SqlCommand sqlCmd;
SqlConnection sqlConnection;
SqlDataAdapter sqlDataAdapter;
public static void Add_Value(string ItemName, string ItemQuantity, string ItemBarcode,int imageIndex)
{
_instance.sqlConnection = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename='C:\Users\John\Documents\Visual Studio 2013\Projects\WindowsFormsApplication2\WindowsFormsApplication2\bin\Debug\Test.mdf';Integrated Security=True;Connect Timeout=30");
_instance.sqlConnection.Open();
_instance.sqlCmd = new SqlCommand("INSERT INTO Inventory (Name,Quantity,Barcode) VALUES (@Name,@Quantity,@Barcode)",_instance.sqlConnection);
_instance.sqlCmd.Parameters.AddWithValue("@Name", ItemName);
_instance.sqlCmd.Parameters.AddWithValue("@Quantity", ItemQuantity);
_instance.sqlCmd.Parameters.AddWithValue("@Barcode", ItemBarcode);
}
我收到错误:
类型'System.Data.SqlClient.SqlException'的未处理异常 发生在System.Data.dll中的附加信息:无效的对象 名称'库存'。
感谢任何帮助,并随意解释,好像你正在和一个菜鸟谈话。
答案 0 :(得分:1)
看起来该数据库中不存在Inventory表。
确保正确设置连接字符串,然后重试。
或者可能是您的库存表是在“dbo”以外的架构中定义的,这是默认架构......
您可以尝试在Visual Studio中打开数据库以仔细检查架构,然后从打开数据库的同一连接中,您可以从属性窗口中获取正确的连接字符串。
答案 1 :(得分:0)
在您的连接字符串中添加Database=databaseName;
(或Initial Catalog=databaseName;
)。如果没有这一点,你就可以对主人执行。