请教在用 Delphi 编写数据库时出现的问题 2

来源:百度知道 编辑:UC知道 时间:2024/09/23 09:35:13
这是我在编写这数据库的第二次提问

我用Access做了一个数据库,然后我用Delphi的Query组件来做一个数据库管理系统,来管理这个Access数据库.
但是,在我用SQL语句来对这里面的数据进行查询时,就出现了问题. (以下是其中的代码)

StudentForm.Query1.Close; //修改SQL语句之前先关闭Query组件
StudentForm.Query1.SQL.Clear; // 清除旧的SQL语句
StudentForm.Query1.SQL.Add('INSERT INTO Student表1 (学号) VALUES'+EdtXueHao.Text);
(*对于字符串中出现的单引号要进行特殊处理,因此字符型数据,要用两对单引号括起来*)
StudentForm.Query1.ExecSQL; //显示插入的结果
StudentForm.Query1.Close;
StudentForm.Query1.SQL.Clear;
StudentForm.Query1.SQL.Add('SELECT * FROM Student表1');
StudentForm.Query1.Open;

StudentForm.Query1.SQL.Add('INSERT INTO Student表1 (学号) VALUES(200504156)'); 这个当中的"学号"

的数据类型是"长整形"
这一句代码是可以执行

但是,当执行这样的代码时 StudentForm.Query1.SQL.Add('INSERT INTO Student表1 (学号)

VALUES'+EdtXueHao.Text);
就总是不行了,

请问这应该怎样解决啊.我试了好多方法,好几十次了,都是这样啊,都是不行.

StudentForm.Query1.SQL.Add('INSERT INTO Student表1 (学号) VALUES('+ EdtXueHao.Text + ')');

在SQL语法中values后面的值应该用括号括起来,你的SQL里面没有括号,以上为默认学号为数值型的,如果是字符型的话应该如下:
StudentForm.Query1.SQL.Add('INSERT INTO Student表1 (学号) VALUES('''+ EdtXueHao.Text + ''')');