📄 transitionquestion.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.jdTools;
using Transition.Config;
namespace Transition.Question
{
//eid -->分类
//type-->试题类型(1判断 2单选 3多选 4流程 0问答)
public class TransitionQuestion
{
public static int GetOldTotalCount() {
myDataBase db = oldDataBase.getDataBase();
string sql = "select count(*) from examquestion where deleted=0";
return db.GetFirstInt(sql);
}
private static SqlDataReader GetOldDataReader(int start, int count)
{
string sql = string.Format("select top {0} qid, eid, problem, type, reference, grade,difficulty from examquestion where deleted=0 and qid not in (select top {1} qid from examquestion where deleted=0 order by qid) order by qid", count, start);
myDataBase db = oldDataBase.getDataBase();
return db.GetDataReader(sql);
}
public static void InToNew(int start, int count)
{
SqlDataReader dr = GetOldDataReader(start, count);
while (dr.Read())
{
string sql = "insert into jd_Question(jd_QuestionTitle, jd_QuestionOption, jd_QuestionAnswer, jd_QuestionScore, jd_QuestionAccessTime, jd_qTypeID,jd_QuestionDifficulty,jd_QuestionOID)";
sql += "values(@QuestionTitle, @QuestionOption, @QuestionAnswer, @QuestionScore, @QuestionAccessTime, @qTypeID,@QuestionDifficulty,@QuestionOID)";
SqlParameter[] parames ={
myDataBase.CreateParameter("QuestionTitle",SqlDbType.NVarChar,200,dr["problem"]==null?"":((string)dr["problem"]).Trim()),
myDataBase.CreateParameter("QuestionOption",SqlDbType.NVarChar,200,GetOption((int)dr["qid"])),
myDataBase.CreateParameter("QuestionAnswer",SqlDbType.NVarChar,200,dr["reference"]==null?"":((string)dr["reference"]).Trim()),
myDataBase.CreateParameter("QuestionScore",SqlDbType.Int,4,(int)dr["grade"]),
myDataBase.CreateParameter("QuestionAccessTime",SqlDbType.DateTime,8,DateTime.Now),
myDataBase.CreateParameter("qTypeID",SqlDbType.Int,4,GetqTypeID((int)dr["type"])),
myDataBase.CreateParameter("QuestionDifficulty",SqlDbType.Int,4,(int)dr["difficulty"]),
myDataBase.CreateParameter("QuestionOID",SqlDbType.Int,4,(int)dr["qid"])
};
myDataBase db = newDataBase.getDataBase();
db.RunSql(sql, parames);
SetClassPoint((int)dr["qid"]);
}
dr.Dispose();
}
//获取指定题目的选项
private static string GetOption(int qid)
{
myDataBase db = oldDataBase.getDataBase();
string sql = "select cid+'<jd>'+content from questiondetail where qid=@qid";
SqlParameter[] parames ={
myDataBase.CreateParameter("qid",SqlDbType.Int,4,qid)
};
SqlDataReader dr = db.GetDataReader(sql, parames);
string result = "";
while (dr.Read())
{
result += (string)dr[0] + ">jd<";
}
if (result != "")
result = ">jd<" + result;
return result;
}
/// <summary>
/// 试题类型(1判断-4 2单选-1 3多选-2 4流程-3 0问答-5)
/// </summary>
/// <param name="qid"></param>
/// <returns></returns>
private static int GetqTypeID(int type)
{
int result = 5;
switch (type)
{
case 1:
result = 4;
break;
case 2:
result = 1;
break;
case 3:
result = 2;
break;
case 4:
result = 3;
break;
case 5:
result = 5;
break;
default:
result=5;
break;
}
return result;
}
private static void SetClassPoint(int qid)
{
myDataBase db = newDataBase.getDataBase();
//先得到所属考点在新系统上的考点ID
string sql = "insert into jd_qPoint(jd_qClassPointID,jd_QuestionID) ";
sql += "select jd_qClassPoint.jd_qClassPointID, ";
sql += "( ";
sql += "select jd_Question.jd_QuestionID ";
sql += "from jd_Question ";
sql += "where jd_QuestionOID=@qid ";
sql += ") as jd_QuestionID ";
sql += " from Examination.dbo.exam_point_ques ";
sql += "inner join jd_qClassPoint on jd_qClassPointOID=pointid ";
sql += "where qid=@qid";
SqlParameter[] parms ={
myDataBase.CreateParameter("qid",SqlDbType.Int,4,qid)
};
db.RunSql(sql, parms);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -