未处理的SqlException构建问题

时间:2016-10-31 13:06:41

标签: sqlexception

我遇到的问题我开发了一个简单的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);

                    }

                }
            }
        }
    }
}

2 个答案:

答案 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表或列名称,或类似的东西