数据库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循环中的查询数据问题
好好查下