数据库listfor
⑴ 如何将List集合插入到数据库中
可以用QueryRunner的batch方法
public class Test {
private static final String DRIVER_CLASS_NAME = "";
private static final String JDBC_URL = "";
private static final String USER = "";
private static final String PASSWORD = "";
public static void main(String[] args) {
int count = 10; // 插入记录的数目
Object[][] params = new Object[count][];
for (int i = 0; i < count; i++)
// 将每条记录的数据插入数组
params[i] = new Object[] { "", "", "" };
batch(params);
}
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName(DRIVER_CLASS_NAME);
conn = DriverManager.getConnection(JDBC_URL, USER, PASSWORD);
return conn;
} catch (Exception e) {
return null;
}
}
public static void batch(Object[][] params) {
QueryRunner queryRunner = new QueryRunner(true);
String sql = "INSERT INTO TABLE_NAME VALUES (?,?,?)";
try {
queryRunner.batch(getConnection(), sql, params);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
⑵ 求大神讲解一下list的传递 我从数据库中获得list
<c:forEach items="${requestScope.list1}" var="list" >这边用jstl为什么要这样去集合呢,直接<c:forEach items="${list1}" var="list" >不就OK了?你试试
⑶ 在java for循环中遍历一个list<object>,中间有一个条件,如果条件为true,就往数据库整插入数据,如果false
java的话,for循环里面可以用if语句来设置分支条件啊。批处理,你就写个SQL插入语句把让程序自行运转啊
⑷ for循环插入数据库的问题
你的问题不甚清晰。需要插入的数据来源是在窗体中吗?SQL需要拼接吗?
给你一段代码参考,这段代码是将窗体中dataGridView中的数据循环插入数据库,循环过程中拼接SQL,并执行插入:
//主方法,拼接SQL并执行插入
private int InsertInTo()
{
StringBuilder sqlinsert = new StringBuilder();
StringBuilder sqlvalue = new StringBuilder();
sqlinsert.Append(" insert into 你的表名 ( ");
sqlvalue.Append(" values(");
int num = 0;//该变量用来获取插入多少条数据
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
for (int c = 0; c < dataGridView1.Columns.Count; c++)
{
sqlinsert.Append(dataGridView1.Columns[c].HeaderText + ",");//赋值列名
sqlvalue.Append("'" + dataGridView1.Rows[i].Cells[c].Value.ToString() + "'");//赋值列对应的值
}
string sql = sqlinsert.ToString().Substring(0, sqlinsert.Length - 1) + ") " + sqlvalue.ToString().Substring(0, sqlvalue.Length - 1) + ")";//拼接完整插入SQL
num += Insert(sql);//调用插入方法,并接收返回的插入行数
}
return num;
}
//连接数据库并执行SQL
private int Insert(string sql)
{
string connstring = "server=127.0.0.1\\SQLEXPRESS;database=你的数据库名;uid=用户名;pwd=密码";
SqlConnection conn = new SqlConnection(connstring);
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
int n = cmd.ExecuteNonQuery();//执行
conn.Close();
cmd.Dispose();
return n;
}
赋值列名时可以放在循环外只赋值一次。
⑸ 我从数据库里面查询出两条不同数据,然后添加到list,list里面怎么只有一条数据
看看你添加的时候代码: classes.get(j),始终都是add 这个,没有循环到下一条,肯定只有一个。
⑹ C#的一段插入数据库的代码,我有个存SQL语句的LIST,用for循环一条条的执行sql
把try catch放在for循环内部,catch里面写continue。
⑺ 在visual foxpro中list all for和list all fields的区别
一、显示记录格式
list|display[[fields]<字段名表>]<范围> for<条件>
二、、区别:
若<范围>和for<条件>均默认,list显示所有记录,display仅显示当前记录;若记录很多,一页显示不下时,list连续显示,display分页显示。
三、比较这两者就很容易,它们只是list命令的一种呈现方式。
list命令的一般形式为:
LIST [<范围>] [字段名表] [FOR <条件>] [OFF] [TO file <文件名>]
注:1、显示的数据库应先打开
2、显示一定范围内满足条件的记录内容。若参数缺省, 则显示全
部记录的
3、若给出字段名表,则只显示所列的字段
4、若选[OFF],则显示时不显示记录号
5、若选[TO file <文件名>],则在屏幕上显示的同时, 输出到文本文件中
6、备注字段的显示需要特别指明其名称,否则不显示
所以,list all for 和 list for 是等价的; list all fields 和list fields 等价。 前者是带条件的显示所有的字段,后者是不带条件的显示所列出的字段。
⑻ java C标签遍历list 循环出数据库中的数据成表格
java C标签遍历list 循环出数据库中的数据成表格例子:
数据来源:
String[] title = {"姓名","性别","民族"};
List<String[]> data = new ArrayList<String[]>();
data.add(new String[]{"张三","男","汉"});
data.add(new String[]{"李四","男","汉"});
data.add(new String[]{"王五","女","汉"});
request.setAttribute("title", title);
request.setAttribute("data", data);
jsp前台代码:
<table>
<!-- 表头 -->
<tr>
<c:forEach items="${title}" var="ti">
<td>${ti}</td>
</c:forEach>
</tr>
<!-- 数据 -->
<c:forEach items="${data }" var="ds">
<tr>
<c:forEach items="${ds }" var="d">
<td>${d}</td>
</c:forEach>
</tr>
</c:forEach>
</table>
运行效果:
⑼ SQL查询了数据然后怎么把全部添加到List里面
用一个循环拿出数据
ArrayList list=new ArrayList();
for(int i=0;i<list.size();i++){
user b=(user)list.get(i);
}
事务是一系列的数据库操作,是数据库应用程序的基本单元,是反映现实世界需要以完整单位提交的一项工作。事务是用户定义的一个数据库操作序列。
(9)数据库listfor扩展阅读
SQL主要分成四部分:
1、数据定义。(DDL)用于定义SQL模式、基本表、视图和索引的创建和撤消操作。
2、数据操纵。(DML)数据操纵分成数据查询和数据更新两类。数据更新又分成插入、删除、和修改三种操作。
3、数据控制。包括对基本表和视图的授权,完整性规则的描述,事务控制等内容。
4、嵌入式SQL的使用规定。涉及到SQL语句嵌入在宿主语言程序中使用的规则。
⑽ java 中 。数据库中有10万条记录 list中有5万条 ,怎样不通过for循环,找出数据库和list中相同的数据
首先,不通过循环来实现这种需求是不可能的,即使你使用了java有关collection的api,看似没有循环,其内部还是有循环的
其次,你对重复数据的定义很含糊,是数据的主键相同就算数据相同,还是数据的所有字段相同才算数据相同,这里要有明确定义
我觉得,我的做法是这样的,先将list中5万条数据分成5个新list,每个list中1万条数据,然后将数据库中的数据读取出来,每一万条一个list,也就是10个list
然后写五个线程,分别进行对比,注意,list是非线程安全的,也就是说,你要实现线程安全的方法