数据表不返回.net中的记录

时间:2012-10-05 06:21:32

标签: asp.net sql c#-4.0 datatable

enter image description here

enter image description here

  

datatable未显示任何行

enter image description here

我的查询是正确的,但Datatable中没有记录,不知道出了什么问题

请帮忙

3 个答案:

答案 0 :(得分:1)

这很可能与您与Sql Server的通信有关。以下是一些要检查的事项:

1)在SQL

中运行时,完全相同的查询返回结果

2)您运行的Sql Connection字符串未设置为使用与视图所在的默认架构不同的默认架构。

3)视图不会返回多于1个数据集和/或表(直接填充数据表只会获取数据集中的第一个表。

4)您正在执行.Fill()之后检查数据表,而不是之前。

如果这会缩小您的问题,请更新我们。否则,您将不得不发布您的OpenConnection代码和Sql视图语法。

答案 1 :(得分:0)

尝试使用此代码:

    public DataTable GetDataTable(string strsql)
    {
        DataTable dt = new DataTable();
        using (SqlConnection con = new SqlConnection("your connection string"))
        {
            try
            {
                SqlDataAdapter da = new SqlDataAdapter(strsql,con);
                da.Fill(dt);
            } catch { }
            finally
            {
                con.Close();
            }
        }
        return dt;
    }

答案 2 :(得分:0)

web.config中的

    <appSettings> 
<add key="con" value="data source="servername";uid="username";pwd="password";initial catalog="databasename"></add> 
</appSettings>

.aspx page

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionStringA"].ToString()); 
    public DataTable GetDataTable(string strsql)
        {
            try
            {
                SqlDataAdapter da = new SqlDataAdapter(strsql,con);
                da.Fill(dt);

                if(dt!=null && dt.rows.Count>0)
                {
                    return dt;
                }
            }
            catch(Exception ex)
            {
                throw ex;
            }
        }