如何通过ADOQuery将Unicode文本插入SQL Server数据库

时间:2015-05-15 21:18:01

标签: sql-server unicode

我将通过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();

1 个答案:

答案 0 :(得分:0)

我认为这应该有用

txt="insert my_table(ksource,ksubject,kdate,ktime,kmessage) values ('SMS',N'"+
                                              fsubject+"',N'"+
                                              fdate+"',N'"+
                                              ftime+"N',N :k_message)";