私は簡単なデータベース関連のアプリケーションを開発しています。 GUIは、データグリッドビューと「保存」ボタンで構成されています。 datagridviewは、データセットをソースとして使用します。データセットは、SQL Server Compact Editionデータベースファイルからデータを取得することによって、順番に入力されます。データベースへのdatagridviewの内容の保存に関する問題
問題は、datagridviewを使用してデータベースの内容を変更し、それを変更するときです。
SqlCeDataAdapter da = new SqlCeDataAdapter();
da.UpdateCommand = Con.CreateCommand(); // Con is SqlCeCommand object
da.UpdateCommand.CommandText = "update TempTable set " +
"S.No = @S.No , Name = @Name";
this.AddParams(da.UpdateCommand, "S.No", "Name");
da.Update(ds); // ds is the dataset used as source by the datagridview
とAddParams方法...
private void AddParams(SqlCeCommand cmd, params string[] cols)
{
foreach (string col in cols)
{
cmd.Parameters.Add("@" + col, SqlDbType.Char, 0, col);
}
}
問題は、私は
cmd.Parameters.Add("@" + col, SqlDbType.Char, 0, col);
次の行に "CHAR" として記述してArguementExceptionを得ているである私は、に起因していると考えていますパラメータの1つがvarcharであり、他方が整数であるという事実。だから私はこれをやるの?
p.s.私はドットネットの初心者です&プログラミング。
するための詳細情報 refferの値
、
は、サイズを提供したり、ちょうどちょうど@paraname?おそらくパーサーがそれに乗ってきて、cmd.Parameters.Addの '@ 'はオプションです。サイズ(0)を定義していない場合は –