String strSQL="update books set bookName="+BookNameTextField.setText(rs.getString(2))+",PressName ="+PressNameTextField.setText(rs.getString(3))+",Author="+AuthorTextField.setText(rs.getString(4))+",Address="+AddressTextField.setText(rs.getString(5))+",PressDate="+PressDateTextField.setText(rs.getString(6))+",Price="+PriceTextField.setText(rs.getString(7))+",Comment="+CommentTextField.setText(rs.getString(8))+"where ISBN="+BookISBNTextField.getText().trim();
时间: 2024-03-09 22:51:12 浏览: 61
这段代码存在一些问题,应该进行如下修改:
```
String strSQL = "UPDATE books SET bookName='" + BookNameTextField.getText() + "', PressName='" + PressNameTextField.getText() + "', Author='" + AuthorTextField.getText() + "', Address='" + AddressTextField.getText() + "', PressDate='" + PressDateTextField.getText() + "', Price='" + PriceTextField.getText() + "', Comment='" + CommentTextField.getText() + "' WHERE ISBN='" + BookISBNTextField.getText().trim() + "'";
```
在这个修改后的语句中,我们使用了单引号将字符串值括起来,以保证 SQL 语句的正确性。同时,我们还使用了 getText() 方法获取文本框中的值,而不是 setText() 方法将值赋给文本框。最后,我们将 WHERE 条件中的 ISBN 值加上了单引号。
需要注意的是,这段代码中存在 SQL 注入的风险,建议使用 PreparedStatement 对象来执行 SQL 语句,以提高程序的安全性。
相关问题
String strSQL="update books set bookName='"----------;完善代码
好的,请问您需要将书名修改为什么呢?假设您需要将书名修改为“高等数学”,那么完整的代码如下:
```
String strSQL = "update books set bookName='高等数学' where bookID='xxx'";
```
其中,bookID是您要修改的书籍的ID,xxx是具体的数值。这条SQL语句的作用是将书籍ID为xxx的书籍的书名修改为“高等数学”。请将xxx替换成具体的数值。
string strSql; string condition = ""; DataAccess data = new DataAccess(); DataSet ds; if (txtCid.Text != "") { condition += "and Cid='" + txtCid.Text + "'"; } if (txtCname.Text != "") { condition += "and Cname='" + txtCname.Text + "'"; } strSql = "select Cid as 课程编号,Cname as 课程名称,Credit as 学分 from Courseinfo where 1=1" + condition; data.dataCon(); ds = data.getDataSet(strSql); dgvInfo.DataSource = ds.Tables[0];注释每一行代码
```
// 定义一个字符串变量
string strSql;
// 定义一个字符串变量,用于存储查询条件
string condition = "";
// 实例化一个 DataAccess 对象
DataAccess data = new DataAccess();
// 定义一个 DataSet 对象
DataSet ds;
// 判断文本框 txtCid.Text 是否为空,如果不为空,则添加一个查询条件
if (txtCid.Text != "")
{
condition += "and Cid='" + txtCid.Text + "'";
}
// 判断文本框 txtCname.Text 是否为空,如果不为空,则添加一个查询条件
if (txtCname.Text != "")
{
condition += "and Cname='" + txtCname.Text + "'";
}
// 构造查询语句,将查询条件添加到 where 子句中
strSql = "select Cid as 课程编号,Cname as 课程名称,Credit as 学分 from Courseinfo where 1=1" + condition;
// 打开数据库连接
data.dataCon();
// 执行查询语句,将结果保存到 DataSet 对象中
ds = data.getDataSet(strSql);
// 将 DataSet 对象中的第一个表绑定到 DataGridView 控件中显示
dgvInfo.DataSource = ds.Tables[0];
```
该段代码主要实现了从 Courseinfo 表中查询课程编号、课程名称、学分等信息,并将查询结果显示在 DataGridView 控件中。根据用户的输入,将文本框 txtCid 和 txtCname 中的值作为查询条件添加到查询语句中。最后执行查询语句,并将查询结果绑定到 DataGridView 控件中。
阅读全文