使用ADOQuery连mssql,用mydac从mysql中读取数据写入到mssql中,tinyint类型的字段不能正常写入?
51one 2007-03-27 11:49:30 使用ADOQuery,Adoconnection连mssql,用mydac从mysql中读取数据写入到mssql中。
问题一:
为什么char,int等类型都可以正常写入,但 mysql中的tinyint类型的字段就是不可以。
//这个正常,mysql中的字段name 是char 类型,mssql中的username是nchar
dm.ADOQuery1.FieldByName('name').AsString:=fieldbyname('username').Asstring;
//下面这一句错,不能写入 mysql 中的gender 是 tinyint 类型,mssql中的gen是int
dm.ADOQuery1.FieldByName('gender').asinteger:=fieldbyname('gen').asinteger;
自己尝试着换成
dm.ADOQuery1.FieldByName('gender').asstring:=booltostr(fieldbyname('gender').asboolean);
可以写入。
但写到mssql中后,只有-1和0了,这显然是错误的。
请问该怎么样才能正常写入?
问题二: 经测试,好像不可以使用dbexpress中的sqlconnection,sqlquery,而只能用adoconnection,adoquery,这是为什么?
谢谢!