首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将变量放入SQL语句(Java/SQL)

将变量放入SQL语句(Java/SQL)
EN

Stack Overflow用户
提问于 2015-06-13 15:03:49
回答 2查看 59关注 0票数 0

因此,我有两个表,学生和Klas_student,说明如下。

学生

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS Studenten(
Studentenummer varchar(7) CHECK (Studentenummer ~'[0-9A-ZA-Z]{7}'),
}

Klas

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS Klas(
Student varchar(7) REFERENCES studenten (Studentenummer) ON DELETE CASCADE NOT NULL,
Klas text NOT NULL REFERENCES Klas (Naam_id) ON DELETE CASCADE NOT NULL
);

正如您在Klas_student中看到的,学生引用表中的学生编号。现在,在java中,我需要从Studenten那里提取学生,并将其放在Klas_student中。

为此,我执行一个查询并从Studenten获取所有学生。

代码语言:javascript
复制
sql = "INSERT INTO Studenten " + "VALUES ('1559335')";
statement2.executeUpdate(sql);

然后我想从它中获得价值,我做到了:

代码语言:javascript
复制
String studentnummer = result.getString(1).toString();
sqlStudenToKlas = "INSERT INTO Klas " + "VALUES (studentnummer)";
statement2.executeUpdate(sqlStudenToKlas);
conn.commit();

然而,在sqlStudentToKlas中,它不以学生数(result.getString(1))字符串作为参数。

有谁能把result.getString(1)作为值中的参数/变量传递?

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-13 15:13:05

C#:

您正在使用'@'将参数传递给ADO.net中的查询字符串

代码语言:javascript
复制
String studentnummer = result.getString(1).toString();
sqlStudenToKlas = "INSERT INTO Klas " + "VALUES (@studentenummer)";
Command.Parameters.AddWithValue("@List", studentenummer);
statement2.executeUpdate(sqlStudenToKlas);
conn.commit();

并使用本教程:C#站点ADO.NET教程

使用JDBC的Java:

代码语言:javascript
复制
String studentnummer = result.getString(1).toString();
sqlStudenToKlas = "INSERT INTO Klas " + "VALUES (?)";
sqlStudenToKlas.setString(1, studentenummer);
statement2.executeUpdate(sqlStudenToKlas);
conn.commit();

并使用本教程:PreparedStatement的命名参数

票数 0
EN

Stack Overflow用户

发布于 2015-06-13 15:13:05

这里的错误:

代码语言:javascript
复制
sqlStudenToKlas = "INSERT INTO Klas " + "VALUES (studentenummer)";

你传递的字符串学生,而不是它的价值。尝试:

代码语言:javascript
复制
sqlStudenToKlas = "INSERT INTO Klas " + "VALUES (" + studentenummer+")";

代码语言:javascript
复制
sqlStudenToKlas = "INSERT INTO Klas " + "VALUES ('" + studentenummer+"')";
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30820130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档