我正在使用Visual Web Developer 2010 Express和SQL Server 2008 R2 Management Studio Express
嘿伙计们,
C#的新功能。我正在尝试关注this C#ADO.NET教程(目前在步骤2上),我很难过。我正在执行所有步骤,一切都对我有意义,但每当我尝试调试时,它都没有显示任何内容(在c#方法的意义上没有将Northwind数据库中的表打印到我的网页上) WebApplication1
的Default.aspx页面。
有一段时间,我认为这是我的连接字符串conn
,我没有命名"Data Source"
属性,根据我的理解,这是我正在尝试的服务器的名称连接至。它全部在本地机器上,我正在使用正确的服务器名称..我想。服务器名称为AZUES-221\JDOESQLSERVER
我正在逃避反向斜线,但我仍然不知道。我的编码中有什么东西是有缺陷的吗?请帮忙!
C#代码
using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;
namespace WebApplication1
{
public partial class SqlConnectionDemo : System.Web.UI.Page
{
protected void Main(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("Data Source=AZUES-221\\JDOESQLSERVER; Initial Catalog=Northwind; Integrated Security=SSPI");
SqlDataReader rdr = null;
try
{
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT * FROM Customers", conn); //passed the connection
rdr = cmd.ExecuteReader(); // get query results
while (rdr.Read()) //prints out whatever was
{ Console.WriteLine(rdr[0]); }//selected in the table
}
finally
{
if (rdr != null)// closes
{ rdr.Close(); }// the reader
if (conn != null)//closes
{ conn.Close(); }// the connection
}
}
}
}
提前致谢
答案 0 :(得分:3)
由于您的示例似乎是 WebProject ,请尝试将您的代码放在Page_Load
eventHandler中。之后,您应该尝试将数据打印到Debug
窗口或网页中的控件。
using System;
using System.Data;
// and all the others ...
namespace WebApplication1
{
public partial class SqlConnectionDemo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("Data Source=AZUES-221\\JDOESQLSERVER; Initial Catalog=Northwind; Integrated Security=SSPI");
SqlDataReader rdr = null;
try
{
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT * FROM Customers", conn);
rdr = cmd.ExecuteReader(); // get query results
while (rdr.Read()) //prints out whatever was
{
System.Diagnostics.Debug.WriteLine(rdr[0]); // or on the other hand
lblOutput.Text += rdr[0]; // as a "quick and dirty" solution!
}
}
finally
{
if (rdr != null)// closes
{ rdr.Close(); }// the reader
if (conn != null)//closes
{ conn.Close(); }// the connection
}
}
}
}
您可能会发现查看databound controls或仅使用其他类型的项目非常有用(例如winForm,console,...)
答案 1 :(得分:1)
创建控制台应用程序,而不是您创建的Web应用程序。 否则,您将遇到类似的问题,考虑到您是C#(或一般的Visual Studio)的新手并且考虑到本教程的其余部分大量使用Console.WriteLine。
然后您可以使用与教程中显示的相同的代码。
如果你担心数据库服务器中的斜杠(它是一个数据库服务器实例),你可能会尝试这样做:
SqlConnection conn = new SqlConnection(@"Server=AZUES-221\JDOESQLSERVER;Database=Northwind;Trusted_Connection=True;");
答案 2 :(得分:0)
为什么console.writeline会显示任何内容。你没有在控制台上工作。
以防只看到你的输出。使用Response.writeline(rdr [0]);