好吧我是T-SQL的新手,我正在努力让我的插入方法起作用。我得到的错误是我的insert方法中的未知构造函数。我不知道为什么我有错误,我相信我确定没有正确引用。先谢谢你!
SqlConnection dbConn = null;
LabelData LadelList = new LabelData();
try
{
using (dbConn = new SqlConnection(Properties.Settings.Default["connectionname"].ToString()))
LabelData addNewVersion = new LabelData(@"INSERT INTO PackLabelVersion (VersionID, VersionNumber, FormatID) VALUES (@VersionID, @VersionNumber, @FormatID)", dbConn);
addNewVersion.Parameters.AddWithValue("@VersionID", VersionID);
addNewVersion.Parameters.AddWithValue("@VersionNumber", VersionNumber);
addNewVersion.Parameters.AddWithValue("@Quantity", FormatID);
dbConn.Open();
addNewVersion.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
答案 0 :(得分:5)
您不需要LabelData
,而应该是SqlCommand
。
SqlCommand addNewVersion = new SqlCommand (@"INSERT INTO PackLabelVersion (VersionID,VersionNumber,FormatID) VALUES (@VersionID,@VersionNumber,@FormatID)", dbConn);
您还需要定义using
语句的范围,目前它只是在考虑它下面的单个语句。
答案 1 :(得分:3)
您的using语句没有围绕数据库连接的大括号。因此它会被立即处理掉。
SqlConnection dbConn = null;
LabelData LadelList = new LabelData();
try
{
using (dbConn = new SqlConnection(Properties.Settings.Default["connectionname"].ToString()))
{
SqlCommand addNewVersion = new SqlCommand(@"INSERT INTO PackLabelVersion (VersionID,VersionNumber,FormatID) VALUES (@VersionID,@VersionNumber,@FormatID)", dbConn);
addNewVersion.Parameters.AddWithValue("@VersionID", VersionID);
addNewVersion.Parameters.AddWithValue("@VersionNumber", VersionNumber);
addNewVersion.Parameters.AddWithValue("@Quantity", FormatID);
dbConn.Open();
addNewVersion.ExecuteNonQuery();
}
}
catch (Exception ex)
{
throw ex;
}
编辑..另外你需要SqlCommand而不是LabelData。 (根据Habib)
答案 2 :(得分:0)
您有语法错误,缺少SqlCommand,并且未设置插入值。 (恶性循环)
声明你的sql连接后
SqlConnection cnn = new SqlConnection(" enter your connection string here ");
将此内容写入下面的代码块中..它应该可以正常工作
cnn.Open();
SqlCommand cmd = new SqlCommand("INSERT INTO PackLabelVersion (VersionID,VersionNumber,FormatID) VALUES (@VersionID,@VersionNumber,@FormatID)", cnn);
cmd.Parameters.AddWithValue("@VersionID", TextBox1.Text);
cmd.Parameters.AddWithValue("@VersionNumber", TextBox2.Text);
cmd.Parameters.AddWithValue("@FormatID", TextBox3.Text);
cmd.ExecuteNonQuery();
cnn.Close();