おせわになります。
今回、Delphi7で、DBExpress等を使い下記のSQL文を実行してみたた際に
-----------------------------------------------------------
Query1.SQL.Add('SELECT * FROM fuji_tb where name="高島彩"');
-----------------------------------------------------------
MYSQLだと、きちんと処理がされるのに、ACCESS2003のMDBファイルだと
-----------------------------------------------------------
ODBC Microsoft Access Driver パラメーターが少なすぎます。1を指定してください。
-----------------------------------------------------------
と、エラーが出てしまいます。
そこで、下記のようにabcと入れた場合はだいじょうぶようなので
-----------------------------------------------------------
Query1.SQL.Add('SELECT * FROM fuji_tb where name=abc');
-----------------------------------------------------------
たぶん全角が使えないのだと思うのですが、対処方をおしりになりましたら
是非教えていただきたいのですが
よろしくおねがいいたします。
これは、ACCESS2003側で、SELECT * FROM fuji_tb where name="高島彩"が正常に動作するかどうかの問題でしょう。
ただ、SELECT * FROM fuji_tb where name=abcが通るのが解せません。
Access2003 は持ってないので、未確認なんですが。
Where句をパラメータ渡しで処理すると、どうなりますか?
Query1.SQL.Add('SELECT * FROM fuji_tv where name="高島彩"');
でなくて
こんな気がしますが。。。
Query1.SQL.Add('SELECT * FROM fuji_tv where name=''高島彩''');
勘違いでしたらごめんなさい。
HOtaさん、@っしー さん、通りすがりさんありがとうございます。
原因は、通りすがりさんの指摘通り”ではなく''でした。
MYSQLでは通っているのに違ったんですね
@っしー さんの言っていました、パラメーター渡しとは
オブジェクトインスペクターのSQLにSQLを書いて
変数で渡すやつだと思うのですが、やりかたが判らず
これから勉強したいと思います。
今回はどうもありがとうございました。
今後とも宜しくおねがいいたします。