关于access中 insert into 插入多列的一些问题

zpsemo 2010-12-22 04:47:05

FrmMain.ADOQuery1.Close;
FrmMain.ADOQuery1.sql.text:='INSERT INTO test(字段1,字段2) VALUES ('''+变量1+''';'''+变量2+''')';
FrmMain.ADOQuery1.ExecSQL;


我是用delphi的ADOQuery连接access的 这断代码也是delphi里面拷出来的 能通过编译 但是添加记录的时候就出错了

我想实现这个功能: 就是在插入一行数据时 同时插入字段1,字段2,使一行数据完整起来
但是这样老是提示语法错误....不知道怎么回事

如果换成:

FrmMain.ADOQuery1.Close;
FrmMain.ADOQuery1.sql.text:='INSERT INTO test(字段1) VALUES ('''+变量1+''')';
FrmMain.ADOQuery1.ExecSQL;


这样的代码 是能成功的插入一行数据,但是字段2的内容就为空了

望诸位高手 帮注下 谢谢诸位了

...全文
269 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zpsemo 2010-12-22
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 wwwwa 的回复:]

ss:='insert into test([MD5],[TEXT]) values ("'+Hash2+'","'+Password+'")';
[/Quote]


非常感谢WWWWA 问题解决了 果然是那个[MD5] 问题 非常感谢!!!!
WWWWA 2010-12-22
  • 打赏
  • 举报
回复
ss:='insert into test([MD5],[TEXT]) values ("'+Hash2+'","'+Password+'")';
zpsemo 2010-12-22
  • 打赏
  • 举报
回复
多谢了 这位仁兄

[Quote=引用 9 楼 wwwwa 的回复:]

procedure TForm1.Button1Click(Sender: TObject);
var n1,n2,ss:string;
begin
n1:='a';
n2:='b';
ss:='insert into a (Ccode,dd) values ("'+n1+'","'+n2+'")';
showmessage(ss);
adoquery1.SQL.Clear;
……
[/Quote]



这是我的代码 根据你的那个改的 假设Hash2,Password的值都正确 并且取得

   //添加记录
ss:='insert into test(MD5,TEXT) values ("'+Hash2+'","'+Password+'")';
FrmMain.adoquery1.SQL.Clear;
FrmMain.adoquery1.SQL.Add(ss) ;
FrmMain.adoquery1.ExecSQL;


还是报那个错
WWWWA 2010-12-22
  • 打赏
  • 举报
回复
上述代码测试通过
WWWWA 2010-12-22
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var n1,n2,ss:string;
begin
n1:='a';
n2:='b';
ss:='insert into a (Ccode,dd) values ("'+n1+'","'+n2+'")';
showmessage(ss);
adoquery1.SQL.Clear;
adoquery1.SQL.Add(ss) ;
adoquery1.ExecSQL;
end;
zpsemo 2010-12-22
  • 打赏
  • 举报
回复
具体的错误是这样:
zpsemo 2010-12-22
  • 打赏
  • 举报
回复
变量都是字符型的 string
字段是文本型的
WWWWA 2010-12-22
  • 打赏
  • 举报
回复
变量什么类型、字段什么类型,上述代码假设都为字符型
zpsemo 2010-12-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wwwwa 的回复:]

应该是引号问题,呵呵
[/Quote]

多谢这位仁兄相助 我拷贝你的代码 做相应的改动 可是...问题依旧
WWWWA 2010-12-22
  • 打赏
  • 举报
回复
应该是引号问题,呵呵
zpsemo 2010-12-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wwwwa 的回复:]

你将ADOQuery1.sql.text显示出来,看看内容是什么
FrmMain.ADOQuery1.sql.text:='INSERT INTO test(字段1,字段2)
VALUES ("'+变量1+'","'+变量2+'")';
[/Quote]


难道是我ADOQuery1.sql.text设置的问题?
zpsemo 2010-12-22
  • 打赏
  • 举报
回复
ADOQuery1.sql.text显示出来:
select MD5 from TEST


WWWWA 2010-12-22
  • 打赏
  • 举报
回复
你将ADOQuery1.sql.text显示出来,看看内容是什么
FrmMain.ADOQuery1.sql.text:='INSERT INTO test(字段1,字段2)
VALUES ("'+变量1+'","'+变量2+'")';

7,713

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧