//观点一,先取出数据库中已存在ID存入内存,再进行判断
//数据太多情况,内存爆炸
DateTable dt = ExcuteSQL('SELECT ID FROM TABLE')
//List为数据集,已经去重
foreach(var item in List){
//观点二,在for循环中根据ID查询是否已存在
//for循环执行数据库?没这么干过
DateTable dt = ExcuteSQL(string.format('SELECT ID FROM TABLE WHERE ID = {0}',item.ID))
//判断是否在dt中存在
...
bool ISContain
...
//不存在
if(!ISContain){
//加入事物SQL列表
SQLList.Add('INSERT INTO ........')
}
}
//执行事物
....
1.直接对数据库表进行 *** 作,如查询 *** 作,数据库表不存在则会抛出异常。如果收到异常则可以进行后续的建表 *** 作了。2.读取数据库中表名列表,看表是否在其中,代码如下:
//java获取数据库中所有表名,判断某个表是否在数据库中存在
connection = DriverManager.getConnection(mySqlDbUrl, "", "") DatabaseMetaData meta = (DatabaseMetaData)connection.getMetaData() ResultSet rs = meta.getTables(null, null, "table", null)//table为表名 if(rs.next()){ System.err.println(true) }else{ System.err.println(false) } rs.close() connection.close()
sql方面的写法:select
count(*)
from
订单表
where
订单号
='你传进来的经单号'
java代码中返回这个count
if(count
>=
1)
说明订单已存在!!!!
--希望能帮助到你!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)