資料庫forloop
Ⅰ 如何在for循環里用參數方法讀取資料庫中數據
for (int i = 0; i < 10; i++)
{
sqlDataReader reader = null;
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "Select Answer from Question where QuestionId=@QUESTIONID";
cmd.Parameters.Add(new SqlParameter("@QUESTIONID", question[i]));
reader = cmd.ExecuteReader();
while (reader.Read())
{
ans[i] = reader.GetValue(0).ToString();
}
reader.Close();
}
Ⅱ 請教大神,oracle資料庫循環語句怎麼寫
你想要的這幾個結果,都可以直接使用SQL語句查出,無需循環。
Oracle循環實在PLSQL塊中編寫:關鍵字for XXX loop 循環體 end loop;
Ⅲ PHP查詢資料庫用FOR循環問題
這當然是不行的了,上面的告訴你的也是錯誤的,因為原因在於你循環的時候進行了資料庫的查詢,所以每次都是新的數據,指針當然要從第一條開始了。
所以不是你的循環的錯誤,而是你資料庫查詢代碼位置的錯誤
要這樣寫
$num=mysql_query("select
*
from
china_city
where
parentid=0");
$n=
mysql_num_rows
($num);
for($i=1;$i<=$n;$i++){
${"row".$i}=mysql_fetch_array($num);
echo
$i."
".${"row".$i}['city']."
";
}
一般都是用foreach或while寫的
foreach(mysql_fetch_array($num)
as
$key=>$value){}
while($row
=mysql_fetch_array($num)){}
Ⅳ oracle資料庫利用游標的FOR循環實現取出選修java課程的學生姓名和成績,並輸出
5.2.4的第(1)題。
declare
cursorcur_scoreis
selectstudent.sname,sc.scorefromstudent,course,scwherestudent.sid=sc.sidandcourse.cid=sc.cidandcourse.cname='java';
score_recordcur_score%rowtype;
begin
forscore_recordincur_scoreloop
dbms_output.put_line('姓名:'||score_record.sname||'成績:'||score_record.score);
endloop;
end;
5.2.4的第(2)題。
declare
cursorcur_numis
selectcourse.cname,count(sc.sid)assid_numfromcourse,scwherecourse.cid=sc.cidgroupbycourse.cname;
num_recordcur_num%rowtype;
begin
fornum_recordincur_numloop
dbms_output.put_line('課程:'||num_record.cname||'人數:'||num_record.sid_num);
endloop;
end;
5.2.4的第(3)題,看不全。
Ⅳ oracle資料庫使用數值型for循環,列印九九乘法口訣表
思路:
對於這種既要控制行,也要控制列的顯示,採用雙層循環是比較理想的,外層循環控制多少行,內存循環控制列的顯示。介於性能考慮,列的循環次數不能超過行的數量。
比如第一行,列印1列
第二行,列印2列
第三行,列印3列
依次類推。
列顯示為行位置*列位置的乘積
代碼如下:
declare
v_noint:=9;
begin
foriin1..(v_no+1)--控制行(9行)
loop
dbms_output.put_line('');--換行
forjin1..i--控制列
loop
dbms_output.put(j||'*'||i||'='||j*i||'');--最終顯示的結果
endloop;
endloop;
end;
Ⅵ 在oracle資料庫中怎樣循環刪除重復數據用for in loop
for cur (select s.id,s.name,s.num,count(1),max(rowid) max_rowid from student s group by s.id,s.name,s.num having count(1)>1)
loop
delete from student where rowid<>cur.max_rowid and id=cur.id and name=cur.name and num=cur.num
end loop;
Ⅶ oracle資料庫使用for循環,列印三角形
declare
h varchar(500);
begin
for i in 1..9
loop
dbms_output.put_line(to_char(i)||rpad(chr(32),10-i,chr(32))||rpad('*',i*2-1,'*'));
end loop;
end;
Ⅷ 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;
}
賦值列名時可以放在循環外只賦值一次。
Ⅸ oracle資料庫的存儲過程中可以用到隱形游標。但是我不太明白為什麼可以用 for in loop來完成對數據的處理。
這是游標的for循環。用游標的for循環,可以簡化游標的操作步驟。使用時系統隱式地定義了一個游標名%ROWTYPE類型的記錄變數,作為循環的計數器。使用游標的for循環,必須按正常方式先定義游標,然後在塊的主體內使用for循環代替顯示第打開游標和關閉游標。循環自動地處理查詢返回的所有行。當最後一行被取出後,循環會自動終止。它會自動完成下列三步:
1.打開游標
2.取數據
3.關閉游標
Ⅹ Matlab連接資料庫:for循環中的查詢數據問題
好好查下