0

(acctNum)以下は、最初の値を 2 番目の列(itemCode)に、またはその逆に入力する挿入ステートメントです。

string addUpcCode = "INSERT INTO compare1 (acct, itemcode)"
                    + "VALUES ('"+acctNum+"', '"+itemCode+"')";

最初の値を最初の列に入れ、2番目の値を2番目の列に入れたいので、これは私が望む方法ではありません。これについてどうすればよいですか?

補足: これは、パラメーター化について詳しく知るまでのラフ ドラフトです。学習して実装するまで、このコードをリリースしません。

4

4 に答える 4

0

C# を使用しているので、string.format 関数はこの種のものに最適です。

    string.format("INSERT INTO compare1(acct, itemCode) Values('{0}','{1}'", acctNum, itemCode);

また

    string.format("INSERT INTO compare1 SELECT '{0}','{1}' ", acctNum, itemCode);

しかし、ええ、おそらくどこかでそれらを混同している可能性があります。順序は維持されます。あ、acctNum が整数の場合、{0} を引用符で囲む必要はありません

編集:ああ、そうです、次は間違いなくパラメータを調べてください

于 2013-05-16T16:34:59.490 に答える
0

パラメーター化されたクエリを使用して SQL インジェクションを防止すると、この問題を解決できます

 command.Parameters.Add("AcctNum", acctNum);
于 2013-05-16T17:48:43.583 に答える