0
関連this questionには動作しません:私は、「INSERT」ループの書き込みをしようとしている:私は、次のクエリを持っている:私はちょうど見つけることができる私のコードを(実行データ挿入ループは
CommandText = "INSERT into sample2Prot(timestp,idq,idz,prot,Lhowmany,Rhowmany) VALUES(@timestp,@idq,@idz,@prot,@Lhowmany,@Rhowmany)";
以下)私は次のエラーを取得する:
'@timestp' cannot be handle by SqlParameterCollection. ("timestp" = tableNames[0], of string type)
for (int j = 0; j < tableNames.Count; j++)
// tableNames contains the name of the columns, tableTypes the types of the columns
// tableTypes contains
{
if (tableTypes[j] == "INTEGER")
{
myCommand3.Parameters.Add("@" + tableNames[j], System.Data.SqlDbType.Int);
Console.WriteLine("@" + tableNames[j]);
}
else
{
myCommand3.Parameters.Add("@" + tableNames[j], System.Data.SqlDbType.VarChar);
Console.WriteLine("@" + tableNames[j]);
}
}
Console.WriteLine(myCommand3.CommandText);
for (int f = 0; f < total.Count(); f++)
{
for (int k = 0; k < tableNames.Count; k++)
{
myCommand3.Parameters.Clear();
myCommand3.Parameters["@" + tableNames[k]].Value = total[f][k];
}
myCommand3.ExecuteNonQuery();
}
は誰かのアイデアを持って?精度を求めても構いません。上記のコードで
を。 EXACTとENTIREのエラーメッセージをコピーして貼り付けることはできますか?また、データベースの 'timestp'カラムのデータ型は何ですか? –
myCommand3はどのタイプですか? SqlCommand?私はあなたが次のようなものを試してみたいと思うかもしれないと思います:CommandText = "sample2ProtへのINSERT(timestp、idq、idz、prot、Lhowmany、Rhowmany)VALUES(?、?、?、? – Tyron78
さて、私は個人的には実行時にすべてのパラメータの値をチェックします。次に、それらをSQL文に挿入し、サーバ上で直接実行しようとします。また、Profilerを実行して、何かがデータベースに送られているかどうかを確認します。問題の原因となるNull値が存在する可能性があります。 – HLGEM