我正在尝试使用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;
}
}
答案 0 :(得分:3)
您没有看到任何错误的原因是因为您正在吞下错误
try
{
// data access
}
finally
{
// clean up
}
至少将其更改为
try
{
// data access
}
catch(Exception ex)
{
// handle the error
}
finally
{
// clean up
}
您可以在catch
块中记录错误,但至少可以在那里插入一个断点并调查出错的地方
答案 1 :(得分:0)
卫生署,
请原谅我的新手。我的查询访问了一个我没有提供对UserId访问权限的不同数据库。现在我已经获得了访问权限,但它运行正常。