資料庫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是非線程安全的,也就是說,你要實現線程安全的方法