数据表不会加载数据

时间:2013-12-05 15:53:24

标签: c# asp.net system.data.datatable

我正在尝试使用datable对象来加载sql查询的结果。有些查询有效,有些查询没有。我已经对数据库进行了跟踪,我可以看到正确的sql通过,但我的aspx页面无法正常运行。当我使用sharepoint 2010运行页面时,我收到的错误消息非常无益。我怀疑它是dataTable不喜欢的某种数据类型(因为我不能想到它可能是什么),但我不知道它可能是什么。有人可以帮忙吗?

<%@ page language="C#" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System" %>
<script runat="server">
//Create string objects


//Create a data table object
DataTable dataTable = new DataTable();

//On page load get the parameters from the URL and assign them to the objects
protected void page_load (Object s, EventArgs e)
    {

    }

//Create new class 
public class ParamDemo
    {

//Create new method to getData    
    public static DataTable GetData()
      {     
            // create connection and reader variables
            SqlConnection conn = null;
            SqlDataReader reader = null;

            //Create a data table object
            DataTable dataTable = new DataTable();
            //String cmdString = new String();
            try
            {

                  // instantiate and open connection
                  conn =  new SqlConnection("Server=myserver;Database=myDB;User Id=UserId;Password=Password");
                  conn.Open();
                  // 1. declare required command object
                  String cmdString = "";

                  cmdString = "SELECT TOP 1 DMA FROM [myDb].[dbo].[dev_table]";
                  SqlCommand cmd = new SqlCommand(
                  cmdString, conn);

                  //get data stream
                  reader = cmd.ExecuteReader();

                  //Record datastream in datatable
                  dataTable.Load(reader);

            }


            finally
            {
                  // close reader
                  if (reader != null)
                  {
                        reader.Close();
                  }

                  // close connection
                  if (conn != null)
                  {
                        conn.Close();
                  }
            }
            return dataTable;
      }
}

2 个答案:

答案 0 :(得分:3)

您没有看到任何错误的原因是因为您正在吞下错误

try
{
  // data access
}
finally
{
   // clean up
}

至少将其更改为

try
{
  // data access
}
catch(Exception ex)
{
  // handle the error
}
finally
{
   // clean up
}

您可以在catch块中记录错误,但至少可以在那里插入一个断点并调查出错的地方

答案 1 :(得分:0)

卫生署,

请原谅我的新手。我的查询访问了一个我没有提供对UserId访问权限的不同数据库。现在我已经获得了访问权限,但它运行正常。