MySQL Web サイトの .net 用の mysql コネクタを使用して、C# から MySQL (バージョン 5.5.27) へのクエリを実行しようとしています。
私が開発している .dll の最終的な目標は、読み取った行を追跡することです。
データベースの読み取りに使用するクエリは次のとおりです。
string strSQL = "SELECT date,ask,bid,volume FROM gbpjpy where `read` = 0";
日付を読むために、私は持っています:
DateTime dateTime = mysqlReader.GetDateTime(0);
それはうまくいきます。
テーブルには 5 つの列があり、最後の列は「読み取り」と呼ばれます。選択クエリと解析が完了した直後に、次のクエリを実行します。
string sqlFormattedDate = dateTime.ToString("yyyy/MM/dd HH:mm:ss");
string query = "UPDATE gbpjpy SET `read` = 1 WHERE `date` = " + sqlFormattedDate;
ただし、ログを確認すると、次のエラーがあります。
SQL 構文にエラーがあります。1 行目の '01:20:08' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。
読み込まれた最初の日付は 2012/08/30 01:20:08 です (これが MySQL テーブルに表示される方法であり、01:20:08 を取得する場所です)。
私は var sqlFormattedDate を試し、ToString オーバーロードを yyyy-MM-dd (スラッシュではなくダッシュを使用) に変更し、dateTime.ToString() をすべて無駄にしました。
MySQL が文字列全体を取得しないのはなぜですか?