读取数句库中Studen表,exam表,study表。加条件登记学时!
学生表中有学号,考试号,姓名。
考试表中有姓名,成绩,学号,考试时间。
我想实现当登记学习时间时,提示先进行考试,今天没进行考试的,并且当考试成绩不到60分时进行补考,补考后才能登记学习时间。
把连接Sql数据库的的代码也写一下吧!谢谢了!
学生表中有学号,考试号,姓名。
考试表中有姓名,成绩,学号,考试时间。
我想实现当登记学习时间时,提示先进行考试,今天没进行考试的,并且当考试成绩不到60分时进行补考,补考后才能登记学习时间。
把连接Sql数据库的的代码也写一下吧!谢谢了!
如果Rows.Count>0 && 成绩>60, 再登记学习时间
using System.Data.SqlClient;protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string connectstring = "Server=数据库IP;Database=数据库名;UID=数据库登录名;PWD=密码; Max Pool Size = 512";
SqlConnection conn = new SqlConnection(connectstring);
conn.Open();
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
string sql = @"select 姓名,成绩,学号,考试时间 from 考试表 where 学号='0001'";
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(ds);
conn.Close();
conn.Dispose();
if(ds.Tables[0].Rows.Count>0)
{
if(double.Parseds.Tables[0].Rows[0]["成绩"].ToString())<60)
{
Response.Write("请先补考");
}
}
else
{
Response.Write("请先考生");
}
}
}
如果Rows.Count>0 && 成绩>60, 再登记学习时间
myConn.Open();
SqlDataAdapter thisAdapter = new SqlDataAdapter("SELECT * from 表名", myConn);
thisAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
DataTable thisDataTable = new DataTable();
thisAdapter.Fill(thisDataTable);
DataTableReader thisReader = new DataTableReader(thisDataTable);
DataTable schemaTable = thisReader.GetSchemaTable();
foreach (DataRow dr in schemaTable.Rows)
{
MessageBox.Show(dr["ColumnName"].ToString());获取字段名称(f1 f2 f3)
MessageBox.Show(dr["ColumnSize"].ToString());获取字段长度(2 2 2)
MessageBox.Show(dr["DataType"].ToString());获取字段类(str str int)
}
这个写不出来,我成绩是用int格式!