㈠ C# 多次查詢資料庫
publicDataTabledcgettable(ArrayListarray,stringtablename,stringconditions)
{
DataTabletbl=newDataTable(tablename);//聲明一個DataTable對象
try
{
stringcmdtxt1="(";
foreach(stringainarray)
{
cmdtxt1+=string.Format("'{0}',",a);
}
cmdtxt1=cmdtxt1.Substring(0,numbers.Length-1)+")";
cmdtxt1=string.Format("select*fromstudentwherenomberin{0}",cmdtxt1);//確保你的表名和列名書寫正確
sqlDataAdapterrdr=new旦胡行SqlDataAdapter(cmdtxt1,getcon());
rdr.Fill(tbl);
}
模嘩catch(Exceptionex)
{
MessageBox.Show("錯誤:"+ex.Message,"錯誤提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Error);
returnnull;
}
finally
{
if(getcon().State==ConnectionState.Open)
{
getcon().Close();
getcon().Dispose();
}
}
做雹returntbl;//DataTable應該在這里返回
}
㈡ 循環中查詢資料庫會不會效率低下
在循環裡面去操作資料庫肯定會慢的,而且還容易碰到新手,在循環裡面創建資料庫連接,會導致連接數滿。一般查詢的話,在外層一次性查詢出來 然後 在邏輯層去循環組織數據。如果是新增,則可以考慮使用批量插入的方法去處理。
㈢ 查詢一百次資料庫跟循環一百次list哪個效率高
當然是循環了知棗
查詢數據還要建立到資料庫的連接,由資料庫返回結果集再由代碼解析,這樣無形中還增加了資料庫伺服器的資源佔用,雖然一些情況下感覺不出來
從編碼設計上應當優先代碼內進行邏輯處理,減少資料庫壓力,當然如果應用場景特殊,查數搭納拆據庫也無可茄雀厚非
㈣ sql 有很多條記錄 每次查詢200條
為了減少數據傳遞量,增加查詢效率,這種分也是很有必要的。
這需要寫一個存儲過程,然後前台提交參數,比如2,存儲過程獲得參數以後,計算出200-400,然後再從資料庫中讀出這200條即可,更進一步如果需要總頁數和分頁數,也可以把總的記錄數/200作為總頁數返回。
也就是說,你每次查詢的結果集僅僅是200條,並不是35670。
㈤ java如何循環查資料庫同一張表
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
//stmt.executeUpdate("create table People(name varchar(255),A int,B int)");
//stmt.executeUpdate("insert into People values('張三',1,0)");
//stmt.executeUpdate("insert into People values('李四',2,1)");
//stmt.executeUpdate("早祥insert into People values('王五',3,1)");
//李則stmt.executeUpdate("insert into People values('趙雲',4,2)");
//stmt.executeUpdate("insert into People values('張飛',5,3)");
public class Test {
private static void query(Connection conn,String sql,int a) {
PreparedStatement stmt = null;
ResultSet rs = null;
try {
stmt = conn.prepareStatement(sql);
stmt.setInt(1, a);
rs = stmt.executeQuery();
while (rs.next()) {
System.out.println(rs.getString("name")+":"+rs.getInt("A"));
query(conn,sql,rs.getInt("A"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (rs != null) {
try {
rs.close();
rs=null;
System.out.println(a+":rs closed.");
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
stmt=null;
System.out.println(a+":stmt closed."哪睜棚);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
System.out.println("===============================");
}
public static void main(String[] args) {
Connection conn = null;
try {
conn = DriverManager.getConnection("jdbc:derby:E:/Derby/test");
String sql="select * from people where B=?";
query(conn,sql, 1);
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
System.out.println("Connection關閉。");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
㈥ 最近項目資料庫量大,現需要實現用一個線程循環(for)讀取庫中記錄且每次只讀取200條,語言java資料庫mysql
PreparedStatement pstmt = con.prepareStatement("select * from 表 where 發送狀態=0 limit 0,200"兆緩);
resultset rs = pstmt.executequery();
while(rs.next()){
string phone=rs.getstring("用戶手機");
doSendMsg(rs.getstring("用戶手機"),rs.getstring("信息內族汪模容"));
system.out.println("陵念發送信息:" + phone);
}
rs.close();
pstmt.close();
conn.close();
㈦ 想請問一下關於Java裡面批量執行select語句的問題
這個設計沒能達到理想狀態,悉宏余程序開發中應盡可能少訪問資料庫。如果你必須同時睜滾查詢200次,數絕枯據庫表必須建立索引,集合查詢,線程並發。一條查詢花費時間一般是毫秒級。
㈧ SQL 循環查100多個表
樓主是不是想要查詢列表中所有表的記錄條數,這100多個表結構一樣的吧??
如果是,那麼好辦了。
首先說一下你可以小睡一會兒的原因:因為每次你都去open一次連接,關閉一次連接,想像一下吧,連續打開關閉100多次資料庫連接,別說查詢了,光打開關閉連接就夠你睡一會兒了。
你需要做的是,把這100多條sql語句聯合起來,然後用union:
select distinct 村,鄉鎮 from 文本1
union
select distinct 村,鄉鎮 from 文本2
.......
然後在最外面加一個select顯示你要的結果,這樣就是一條sql語句,只是union多了一些,但是無傷大雅,只要你的表數據不是幾十萬那樣的。。。
如果不是上述問題,那就得研究一下腳本優化的問題了。
㈨ 怎樣循環查詢某個資料庫
1、數據之中可以寫一個查詢腳本 每次重復執行蘆棚腳本即可
2、程序之中使用循洞嘩歲環納睜語句將查詢操作作為循環體即可
㈩ PHP程序:循環查詢資料庫欄位的方法
完整的代碼如下:
$con = mysql_connect('localhost(伺服器地址)', '資料庫用戶名', '資料庫密碼');
//資料庫連接。
if (!$con)
{
die('Could not connect: ' . mysql_error());
}//連接失敗輸出錯誤
mysql_select_db('資料庫名', $con);
$sql = "select Name from 表名;";
$result = mysql_query($sql,$con);
while($row= mysql_fetch_array($result)){
echo $row['Name'];
}