我将通过ADOQuery将Unicode文本插入SQL Server数据库。
我的文本存储在k_message
WideChar 变量中。
我知道我必须加上N' N'对于SQL Server中的Unicode操作,
但在这种情况下如何将这封信用于k_message
列?
另一方面,ADOQuery只获取非Unicode文本的SQL字符串
而我必须使用参数。
使用以下代码我收到错误:
@ P1附近的语法不正确。
我的编程环境是:Borland C ++ Builder 6
txt="insert my_table(ksource,ksubject,kdate,ktime,kmessage) values ('SMS','"+
fsubject+"','"+
fdate+"','"+
ftime+"',N :k_message)";
DMod1->ADOQuery2->Close();
DMod1->ADOQuery2->Prepared=true;
DMod1->ADOQuery2->SQL->Clear();
DMod1->ADOQuery2->SQL->Add(txt);
DMod1->ADOQuery2->Parameters->ParamByName("k_message")->Value=k_message;
DMod1->ADOQuery2->ExecSQL();
答案 0 :(得分:0)
我认为这应该有用
txt="insert my_table(ksource,ksubject,kdate,ktime,kmessage) values ('SMS',N'"+
fsubject+"',N'"+
fdate+"',N'"+
ftime+"N',N :k_message)";