碰到一些问题,自己不知道怎么解决,纠结两天了,很急,请大家多多帮忙,给点力啊。
先解释下要干什么,title[]这个数组里存放着一些不重复的正整数,通过这些正整数查询到qid值在这个数组里面的所有数据,得到数据之后我要创建一张临时表以userName命名,然后还要把查询到的结果存到这张临时表里面去,下面是我写的代码,当然是错误百出了,大家知道这个意思就行,然后帮忙改改吧,感激不尽!!!!
public static void CreateTable(int[] title,string userName)
{
string sqlWhere = "";
for (int i=0;i<title.Length;i++)
{
sqlWhere+=title[i].ToString()+",";
}
sqlWhere=sqlWhere.Remove(sqlWhere.Length-1);
string strSql="select * from question where qid in ("+sqlWhere+")";
Conn.Open();
Cmd.CommandText=strSql;
Cmd.Connection=Conn;
SqlDataReader dr=Cmd.ExecuteReader();
if (dr.HasRows)
{
string sqlCreate = "create table "+userName+" (id int identity(1,1) primary key NOT NULL,title text not null,A text not null,B text not null,C text not null,D text not null,answer char(2) not null,result tinyint not null)";
Cmd.Connection = Conn;
Cmd.CommandText = sqlCreate;
Cmd.ExecuteNonQuery();
int i = 1;
while (dr.Read())
{
string sqlInsert = "insert into" + userName + "(id,title,A,B,C,D,answer,result) values(" + i + "," + dr["qtitle"].ToString() + "," + dr["qA"].ToString() + "," + dr["qB"].ToString() + "," + dr["qC"].ToString() + ","+ dr["qD"].ToString() + ","+dr["qanswer"]+",0)";
Cmd.Connection = Conn;
Cmd.CommandText = sqlInsert;
Cmd.ExecuteNonQuery();
i++;
}
}
dr.Close();
}
9 个解决方案
#1
有用到dataSet吗?我正在写个相似的程序,使用的是dataset,可以试试。。。
#2
代码太多,没有时间去看这么多,看到太多不想看的就更没有耐心的。你最好问题简单的问题,别人只应该给你启示,而不是答案。
#3
每个用户创建一张临时表,楼主的想法肯定有问题。
#4
谢谢提醒,会记住把问题描述清楚的。
#5
具体是这样,在做一个在线测试的系统,数据库中存放着题。我要在学生点击测试的时候随机生成一套试题,然后把生成的题目显示在页面上,待测试完成之后还要完成评分的功能,所以想到了建一个临时表存放生成的题,测试完评分之后再drop掉,这只是我个人的想法,您要有什么建议话请说啊,感激不尽。我现在还不知到我的想法能不能实践通,寻求更好的方法。
#6
是这样子的,我有一张表里面存了选择题目和选项以及答案,我要实现在线测试的功能,希望再点击测试之后能生成一套试题,并在测试完毕点击提交之后给出评分,我的想法是点击测试之后就生成不重复的随机数,根据随机数查找试题,然后将随机生成的试题存在新建的临时表中,评分之后再drop掉。这样做的目的是方便评分,我不知道我的想法对不对,希望给予指点,谢谢。
#7
应该用单独一个表来存放生成出来的试题,表中需要有一个字段来标记是哪个用户的。
#8
可是每次测试生成的题可能都不同,不同的人看到的题目也不同,相同的人下次生成的题也不同啊。
#9
我尝试用DataSet 但是发现不会写 能给个代码参考一下吗?
#1
有用到dataSet吗?我正在写个相似的程序,使用的是dataset,可以试试。。。
#2
代码太多,没有时间去看这么多,看到太多不想看的就更没有耐心的。你最好问题简单的问题,别人只应该给你启示,而不是答案。
#3
每个用户创建一张临时表,楼主的想法肯定有问题。
#4
谢谢提醒,会记住把问题描述清楚的。
#5
具体是这样,在做一个在线测试的系统,数据库中存放着题。我要在学生点击测试的时候随机生成一套试题,然后把生成的题目显示在页面上,待测试完成之后还要完成评分的功能,所以想到了建一个临时表存放生成的题,测试完评分之后再drop掉,这只是我个人的想法,您要有什么建议话请说啊,感激不尽。我现在还不知到我的想法能不能实践通,寻求更好的方法。
#6
是这样子的,我有一张表里面存了选择题目和选项以及答案,我要实现在线测试的功能,希望再点击测试之后能生成一套试题,并在测试完毕点击提交之后给出评分,我的想法是点击测试之后就生成不重复的随机数,根据随机数查找试题,然后将随机生成的试题存在新建的临时表中,评分之后再drop掉。这样做的目的是方便评分,我不知道我的想法对不对,希望给予指点,谢谢。
#7
应该用单独一个表来存放生成出来的试题,表中需要有一个字段来标记是哪个用户的。
#8
可是每次测试生成的题可能都不同,不同的人看到的题目也不同,相同的人下次生成的题也不同啊。
#9
我尝试用DataSet 但是发现不会写 能给个代码参考一下吗?