我遇到的问题我开发了一个简单的Web应用程序来检索和显示来自远程数据库的数据有关于它的类似帖子,但不完全相同,我经历过它们,我没有解决方案实际上帮助了我,所以问题是下面,当我调试我的页面时,我等了一会儿,我被重定向回到我在Visual Studio上的项目,其对话框名为 SqlException未被用户代码处理 其中的信息为:
System.Data.dll中出现'System.Data.SqlClient.SqlException'类型的异常,但未在用户代码中处理
其他信息:Une connexionaétéétablieavevele serveur,mais une erreur s'est ensuite produite pendantlanégociationpréalableàl'ouverturede session。 (提供者:TCP提供者,错误:0 - Une connexion存在,但是远远超过了一个远离它的传感器。)
一般故障排除提示没有帮助,这是我的aspx代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Mail.aspx.cs" Inherits="CCIT_WebApp1.Mail" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body style="height: 470px">
<table runat="server">
<asp:Repeater ID="repeater" runat="server">
<HeaderTemplate>
<tr class="Header">
<td>Code</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<%# Eval("code") %>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
这是我的后端aspx.cs代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
namespace WebApp1
{
public partial class Mail : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
using (SqlConnection cnct = new SqlConnection("Server=x;User"+
"ID=xx;Password=xxxx;Database=xxxx"))
{
cnct.Open();
using (SqlCommand cmd = new SqlCommand("SELECT Code "+
"FROM Societe", cnct))
{
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
string code = rdr.GetString(1);
}
}
}
}
}
}
答案 0 :(得分:0)
<强>原始强> 这可能是你的问题:
using (SqlCommand cmd = new SqlCommand("SELECT Code"+
"FROM Societe", cnct))
Code和FROM之间需要一个空格。应该是:SELECT Code From Societe
第二次尝试
我建议将数据读取器的执行包装在try / catch块中。调试异常上发生的事情,看看它是否为您提供了更有意义的信息。像这样......
`
DataSet ds = new DataSet();
using (SqlConnection sqlConn = new SqlConnection(sqlConnection))
{
using (SqlCommand cmd = new SqlCommand("SELECT Code From Societe", sqlConn))
{
try
{
cmd.CommandType = CommandType.Text;
sqlConn.Open();
SqlDataAdapter dap = new SqlDataAdapter(cmd);
dap.Fill(ds);
}
catch (Exception ex)
{
**Do something here **
}
}
}`
答案 1 :(得分:0)
在相同的情况下,我测试以前的SQL查询。 建议您在数据库上运行查询SELECT Code From Societe,以处理原始错误。 错误输入的Probobly表或列名称,或类似的东西