数据库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语句,不知该怎么正确书写,主要是被%'和'%这样的符号给搞乱了,希望大虾帮帮忙,谢谢!
...全文
150 点赞 收藏 15
写回复
15 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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写的有意思
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-09-17 11:24
社区公告
暂无公告