私は、ユーザが異なる曜日に時刻を入力するタイムシートアプリケーションを用意しています。フォームは毎日の入出力を処理し、ストアドプロシージャにパラメータとして入力し、データベースに追加します。これを最も効率的にどのように達成するのですか? DBにアクセスすることはできません。ストアドプロシージャだけです。C#で複数回ストアドプロシージャを実行する方法
これは裸のコードです。私はいくつかの不要なコードを取り除きました。
SqlConnection conn = new SqlConnection(connString);
conn.Open();
SqlCommand cmd = new SqlCommand("insertINOUT", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@UserName", user));
for (int j = 0; j < weekDays.Length; j++)
{
cmd.Parameters.Add(new SqlParameter("@In", in));
cmd.Parameters.Add(new SqlParameter("@Out", out));
cmd.ExecuteReader();
}
conn.Close();
コードは、わずか1日の出入りがある場合に機能します。ユーザーが複数日を記入すると、このエラーが発生します。パラメーター '@In'が複数回提供されました。
ありがとうございました。
それはすべてのために 'for'ループのもの' new'文のです。あなたはすでに存在するものの「新しい」ものを作りようとしています。 – Brad