数据库sql的小问题

麦田捕手 2010-09-17 11:24:30
这个方法是根据表名,向表中插入各个字段值的,代码如下
    public void updataDB(String strTableName,
int strCityID,
String strCityName,
String strDate_Solar,
String strDate_Lunar,
String strWeather,
String strTemperature,
String strWind) {
this.initConnection(); //初始化数据库连接
try {
//声明SQL语句
Statement stmt = conn.createStatement();
String sql = "INSERT into '%" + strTableName + "%'" + "(cityID, cityName, date_Solar, date_Lunar, weather, temperature, wind)"
+ "VALUES( '%" + strCityID + "%','%" +strCityName + "%','%"
+ strDate_Solar + "%','%" + strDate_Lunar + "%','%"
+ strWeather + "%','%" + strTemperature + ",'%"
+ strWind + "%')";
stmt.execute(sql);
} catch(Exception e) {
e.printStackTrace();
} finally {
this.closeConnection();
}
}

关键是这其中的sql语句,不知该怎么正确书写,主要是被%'和'%这样的符号给搞乱了,希望大虾帮帮忙,谢谢!
...全文
183 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
luyao1109 2010-09-18
  • 打赏
  • 举报
回复
可以先把值填进去 标红 然后单独处理标红的部分
麦田捕手 2010-09-18
  • 打赏
  • 举报
回复
别寒碜我了,我不懂才问的,原先学校学的都忘得差不多的[Quote=引用 6 楼 wxlvivian 的回复:]
这SQL写的有意思
[/Quote]
metsys 2010-09-17
  • 打赏
  • 举报
回复

方法名是 updateDB

SQL语句开始是 INSERT into

SQL语句中是 where 条件中的like用到的%

究竟想干嘛?

把sql中所有的%去掉吧!
wendli2008 2010-09-17
  • 打赏
  • 举报
回复
建议用预处理preparestatment,你这样直接串在速度和安全放慢都要好。
falconkabu 2010-09-17
  • 打赏
  • 举报
回复
怎么 表名也是 模糊的啊? 添加的 时候出现 模糊 怎么看都有点 乱
gong_baoqiang 2010-09-17
  • 打赏
  • 举报
回复
条件要用单引号
Leson_Yin 2010-09-17
  • 打赏
  • 举报
回复
拼sql?
1、'%模糊查询条件%';
1、'模糊查询条件%';
1、'%模糊查询条件';
yangzl39 2010-09-17
  • 打赏
  • 举报
回复
insert中不需要'%',建议用preparedstatment
shuiguozheng 2010-09-17
  • 打赏
  • 举报
回复
表名不可以模糊吧!
wolf863292 2010-09-17
  • 打赏
  • 举报
回复
。。。
倒数第二行 + strWeather + "%','%" + strTemperature + "%','%"
最后一个,前面 加了个 %'


ps 9楼建议预处理 不错
wolf863292 2010-09-17
  • 打赏
  • 举报
回复
不知道lz要干什么,不过按照你的写法,有两处错误。
改正如下:
第一行 "INSERT into '%" + strTableName + "%' " 后边加了一个空格
倒数第二行 + strWeather + "%','%" + strTemperature + "'%,'%" 加了个'%
--这里
java_news 2010-09-17
  • 打赏
  • 举报
回复
建议用预处理preparedstatment,你这样写起来既乱又影响查询速度。

preparedstatmet较好,我们项目经理让我把工程中你的那种写法全换成preparedstatment了。
狂想者 2010-09-17
  • 打赏
  • 举报
回复
同上,学习中!!!!!!!!!
crazylaa 2010-09-17
  • 打赏
  • 举报
回复
String sql = "INSERT into " + strTableName + "(cityID, cityName, date_Solar, date_Lunar, weather, temperature, wind)"
+ "VALUES(" + strCityID + ",'" +strCityName + "','"
+ strDate_Solar + "','" + strDate_Lunar + "','"
+ strWeather + "','" + strTemperature + ",'"
+ strWind + "')";
wxlvivian 2010-09-17
  • 打赏
  • 举报
回复
这SQL写的有意思

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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