日期:2014-05-18  浏览次数:20717 次

C# 数据库问题 请教!!急!!!
我有一个dbf数据表,已经可以读进来,但是我向对这个表的一个字段里面的内容进行分析,请问我该怎么写啊!比如:有这样一个考试成绩的表:两个字段 分别为学号和成绩,我要对成绩这个字段的内容进行查找分析,当其>60时 我的label的text为“及格”,当其<60时,我的label的text为“不及格”,请问我该怎么写 从数据文件的调用开始!
多谢!!!

------解决方案--------------------
先将数据库里的数据读到datatable里或者List泛型,然后for循环判断
------解决方案--------------------
SQL code

select case when 成绩>=60 then '及格' else '不及格' end from 表名

------解决方案--------------------
那就直接判断就可以了啊
------解决方案--------------------
<html>
<body>
<form id="form1" runat="server">
<div>

<asp:GridView ID="GridView1" runat="server">
</asp:GridView>

</div>
</form>
</body>
</html>


protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Bind();
}
}

private void Bind()
{
string strcn = @"Dsn=ss7server;DataBase=NTP2000;uid=zxt2000;pwd=zxt2000;";
OdbcConnection mycn = new OdbcConnection(strcn);
string sql = "select 学号,case when 成绩>=60 then '及格' else '不及格' end 成绩 from tb_xscj ";
//string sql = "select 学号,case when 成绩>=60 then '及格' else '不及格' end 成绩 from tb_xscj where 学号=110";
mycn.Open();
OdbcDataAdapter myDa = new OdbcDataAdapter(sql, mycn);
DataSet myDs = new DataSet();
myDa.Fill(myDs, "s");

GridView1.DataSource = myDs;
GridView1.DataBind();
}
------解决方案--------------------
探讨
SQL code
select case when 成绩>=60 then '及格' else '不及格' end from 表名

------解决方案--------------------

String strSql = null;
SqlCommand m_sqlCmd = null;
SqlDataReader reader = null;

strSql = "select 学号,成绩 from 表名";

try
{
m_sqlCmd.CommandText = strSql;

// m_sqlConn是你打开的sql连接
m_sqlCmd.Connection = m_sqlConn;

reader = m_sqlCmd.ExecuteReader();
if (reader.Read() == true)
{
// reader[0]是学号,reader[1]是成绩
if (reader[1] >= 60)
处理逻辑
else
处理逻辑
}

m_sqlCmd.Cancel();
reader.Close();
}
catch (Exception queryErr)
{
Console.WriteLine(queryErr.ToString());
}
------解决方案--------------------
直接数据库 case... when... 判断不就可以了,再通过控件绑定下数据,不用在c#里面做判断

select case when 成绩>=60 then '及格' else '不及格' end from 表名
------解决方案--------------------
从使用灵活性上来说,将学号成绩两个原始数据读出来后,你随便做怎样的逻辑处理都可以。不过如果处理与学号无关,那就直接使用sql语句。
------解决方案--------------------
C# code

for (int i = 0; i < datatable.Rows.Count; i++)
{
    //取出学号和成绩
    string num = datatable.Rows[i][0].ToString();
    string score = datatable.Rows[i][1].ToString();

    //逐行赋值
    datagridview1["学号", i].Value = num;
    datagridview1["成绩", i].Value = score;
    
    if (score >= "60")
    {
        datagridview1["成绩等级", i].Value = "及格";
    }
    else
    {
            datagridview1["成绩等级", i].Value = &q