0

私はT-SQLが初めてで、挿入メソッドを機能させようとしています。私が得るエラーは、挿入メソッドで不明なコンストラクターです。エラーが発生した理由がわかりません。何かを正しく参照していないことは確かです。事前にありがとう!

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;
}
4

3 に答える 3

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;
}

編集..さらに、LabelDataではなくSqlCommandが必要です。(ハビブによる)

于 2013-11-06T21:28:20.707 に答える
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();
于 2013-11-06T21:34:54.497 に答える