我是用 delphi ADOConnection1 连接的mysql手工再phpmyadmin中添加中文数据 一切正常但是在delphi中添加就中文就出现 ???? 全是??
我的Mysql数据库和表名的 格式均是 gb2312_chinese_ci数据库名称是 xdfdb 表名 是xdf_list 我是用 wamp5测试的我添加数据的过程的代码是var d:string;
s:string;
begin
//////showmessage(inttostr(combobox1.ItemIndex));
//d:=Date;
d:=getdate();
with DataModule2.adoquery1 do
begin
close;
sql.clear;
///sql.Add('SET NAMES GBK');
sql.add('insert into xdf_list (name,age,type,score,school,date,re) values(:name,:age,:type,:score,:school,:date,:re)');
parameters.paramByName('name').Value:=Edit1.Text;
parameters.paramByName('age').Value:=Edit2.Text;
parameters.paramByName('type').Value:= s;
parameters.paramByName('score').Value:=Edit3.Text;
parameters.paramByName('school').Value:=Edit4.Text;
parameters.paramByName('date').Value:=d;
parameters.paramByName('re').Value:=Edit5.Text;
try
ExecSQL;
finally
Close;
end;
end;
end;求解决办法~~~
我的Mysql数据库和表名的 格式均是 gb2312_chinese_ci数据库名称是 xdfdb 表名 是xdf_list 我是用 wamp5测试的我添加数据的过程的代码是var d:string;
s:string;
begin
//////showmessage(inttostr(combobox1.ItemIndex));
//d:=Date;
d:=getdate();
with DataModule2.adoquery1 do
begin
close;
sql.clear;
///sql.Add('SET NAMES GBK');
sql.add('insert into xdf_list (name,age,type,score,school,date,re) values(:name,:age,:type,:score,:school,:date,:re)');
parameters.paramByName('name').Value:=Edit1.Text;
parameters.paramByName('age').Value:=Edit2.Text;
parameters.paramByName('type').Value:= s;
parameters.paramByName('score').Value:=Edit3.Text;
parameters.paramByName('school').Value:=Edit4.Text;
parameters.paramByName('date').Value:=d;
parameters.paramByName('re').Value:=Edit5.Text;
try
ExecSQL;
finally
Close;
end;
end;
end;求解决办法~~~
解决方案 »
- 关于调用 dll 的回调函数封装到控件的事件?
- 大家好,主细表结构的数据怎么插入?
- 查看并能运行本地程序的API函数..
- 比较难,关于扫描识别,希望大家都来聊聊
- 如何在DBGRID里加入CHECKBOX。
- 利用ms tts语音调用sapi.dll
- 怎样在程序里面判断一个表的某个字段是否是主键?
- 难道这么大的论坛没有人做过mts/com+的程序吗?真郁闷。。。
- 将Txt文件中的内容导入到sqlserver中,用什么方法最好??
- CRC16算法,有一个C语言循环得出查表值,delphi上怎么写啊
- win7客户端提示 interface not supported
- Delphi中向表中插入显示列名无效
procedure TFWebBrown.Button3Click(Sender: TObject);//这个是连接数据库的
begin
try
ADOConn.Close;
ADOConn.ConnectionString:=('DRIVER={MySQL ODBC 3.51 Driver};'+
'SERVER=12.255.231.47;'+
'DATABASE=sb0;'+
'USER=s40;'+
'PASSWORD=3;'+
'OPTION=3;'); ADOConn.Open;
except
application.MessageBox('无法连接数据库服务器.请与管理员联系','提示',MB_ICONINFORMATION);
end ;
ADOQuery1.Close();
ADOQuery1.SQL.Text := 'SET NAMES GB2312;';
ADOQuery1.ExecSQL(); //当将此句注释掉的话,存入数据库的内容变为乱码
ADOQuery1.Close();
ADOQuery1.SQL.Text := 'SET character_set_client = GB2312;';
ADOQuery1.ExecSQL(); //当将此句注释掉得话,从数据库中读取的内容为乱码
ADOQuery1.Close();
ADOQuery1.SQL.Text := 'SET character_set_results = GB2312;';
ADOQuery1.ExecSQL(); //当将此句注释掉的话,存入数据库的内容变为乱码
ADOQuery1.Close();
ADOQuery1.SQL.Text := 'SET character_set_connection = GB2312;';
ADOQuery1.ExecSQL();end;
下面是返回记录的。
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from lady_article where id>700 order by id desc');
ADOQuery1.Open;
2、在DELPHI连接MySQL的连接字符串:
Provider=MSDASQL.1;Password=%s;Persist Security Info=True;User ID=root;Data Source=EMCDB;Initial Catalog=%s;charset=gb2312 主要是最后这个charset=gb2312作用。