1

datetimeOracle から MySQL データベースに値を解析する方法について質問があります。

Oracleから日時を抽出するためにこれを書きました:

SELECT TO_CHAR(p1.creation_date,'DD.MM.RRRR HH24:mi:ss') AS dat_pot 
FROM TABLE

次に、結果をデータセットに入れ、次のようにデータセットから日付の値を抽出します。

string lDat_otp = null;        

if (rw_mat["dat_otp"].ToString().Length <= 0)
{
   lDat_otp = "0";
}
else
{
   lDat_otp = "convert(datetime,'" + rw_mat["dat_otp"] + "',4)";
}

次に、次のような他の値でステートメントを使用lDat_otpします。INSERT

myQuery = " INSERT INTO ordersstavke (BrDok, " +
          " SifParFil, SifParIsp, DatPriOtpr, SifPodKla, Masa, Paketa) " +
          " VALUES ('" + rw_mat["brdok"] + "', '" +
                         rw_mat["sifskl_kor"] + "','" +
                         rw_mat["partner"] + "'," +
                         lDat_otp + ",'" +
                         rw_det["ibrmat"] + "', '" +
                         rw_det["izlaz_tez"] + "', '" +
                         rw_det["izlaz_kol"] + "')";

しかし、実行時にエラーが発生し、次のようになります。

SQL 構文にエラーがあります。使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

だから助けて!!!

4

1 に答える 1

2

日時フィールドを解析してDateTime構造体にし、パラメーターを使用してクエリを作成しinsert into、日付をパラメーターとして渡すことができます。

DateTime time = //Some value ...
String myQuery = " INSERT INTO ordersstavke (BrDok, " +
          " SifParFil, SifParIsp, DatPriOtpr, SifPodKla, Masa, Paketa) " +
          " VALUES ('" + rw_mat["brdok"] + "', '" +
                         rw_mat["sifskl_kor"] + "','" +
                         rw_mat["partner"] + "'," +
                         "?date ,'" +
                         rw_det["ibrmat"] + "', '" +
                         rw_det["izlaz_tez"] + "', '" +
                         rw_det["izlaz_kol"] + "')";
MysqlCommand command = new MysqlCommand(query, connection);
command.Parameters.AddWithValue("?date", time);

これを行うと、日付のフォーマットに問題が発生することはありません。 クエリの他のパラメータについても、文字列連結の代わりにパラメータを使用することを強くお勧めします...

于 2012-05-08T10:45:22.853 に答える