Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将数据库中的值调用到文本字段中-自定义错误_C#_Asp.net_.net - Fatal编程技术网

C# 将数据库中的值调用到文本字段中-自定义错误

C# 将数据库中的值调用到文本字段中-自定义错误,c#,asp.net,.net,C#,Asp.net,.net,我的page_load函数中有以下代码,它基本上根据用户输入的邮政编码从数据库返回一个值。问题是,我遇到了一个自定义错误问题。当我的另外两个文本字段被自动填充时,如果我等待5分钟然后提交,我将得到一个错误,但是,如果我在5分钟内提交,一切都会按预期进行。请告诉我从数据库调用值的方式是否错误,或者如何修复此错误?这就是错误: <!-- Web.Config Configuration File --> <configuration> <system.web&

我的page_load函数中有以下代码,它基本上根据用户输入的邮政编码从数据库返回一个值。问题是,我遇到了一个自定义错误问题。当我的另外两个文本字段被自动填充时,如果我等待5分钟然后提交,我将得到一个错误,但是,如果我在5分钟内提交,一切都会按预期进行。请告诉我从数据库调用值的方式是否错误,或者如何修复此错误?这就是错误:

<!-- Web.Config Configuration File -->

<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration>
这是我的配置文件(请注意,我将我的凭据替换为……):


好的,没什么不对的,从你说的话来看,连接似乎关闭了:

  • 您应该在需要时创建连接,完成后释放连接
  • 邮政编码不是int类型
  • Convert.ToInt32
    将给您意外的结果,因为 零将被删除
  • 您还需要学习如何使用参数化查询,这将避免
  • SQL注入,还可以避免语法错误
  • SELECT*
    +
    .GetValue()
    是一些bug的接收器,如果您有过的话 修改表结构或查询您可以中断代码,而不是使用列索引使用名称,并且不使用通配符
    *
    选择特定字段
  • 最后但并非最不重要的一点是,使用
    using语句
    处理物品的有效方法


好吧,没什么不对的,从你所说的来看,连接似乎关闭了:

  • 您应该在需要时创建连接,完成后释放连接
  • 邮政编码不是int类型
  • Convert.ToInt32
    将给您意外的结果,因为 零将被删除
  • 您还需要学习如何使用参数化查询,这将避免
  • SQL注入,还可以避免语法错误
  • SELECT*
    +
    .GetValue()
    是一些bug的接收器,如果您有过的话 修改表结构或查询您可以中断代码,而不是使用列索引使用名称,并且不使用通配符
    *
    选择特定字段
  • 最后但并非最不重要的一点是,使用
    using语句
    处理物品的有效方法


小贴士:期待你的来访。她可能是你的新好朋友。至于你的问题,你的会议在5分钟后结束吗?是的,我的会议在5分钟后结束。我没有收到任何语法错误。这与5分钟的会话有什么关系?我很困惑,一定是丢失了相关代码。让我澄清一下,这不完全是5分钟,而是当我填写数据时,我等待了一段时间,比如说4分钟,然后点击提交,我得到了错误页面。如果我填写数据并点击提交,一切正常!小贴士:期待你的来访。她可能是你的新好朋友。至于你的问题,你的会议在5分钟后结束吗?是的,我的会议在5分钟后结束。我没有收到任何语法错误。这与5分钟的会话有什么关系?我很困惑,一定是丢失了相关代码。让我澄清一下,这不完全是5分钟,而是当我填写数据时,我等待了一段时间,比如说4分钟,然后点击提交,我得到了错误页面。如果我填写数据并点击提交,一切正常!非常感谢你!那是因为我关闭了我的连接!非常感谢您提供的上述示例,我绝对需要使用您的方法!非常感谢你,非常感谢!那是因为我关闭了我的连接!非常感谢您提供的上述示例,我绝对需要使用您的方法!非常感谢你。
protected void Page_Load(object sender, EventArgs e)
{

    if (txtzip.Text.Length == 5)
    {
        SqlCommand Comm1 = new SqlCommand("SELECT TOP(1) * FROM zip_code WHERE zip = '" + Convert.ToInt32(txtzip.Text) + "'", conn);

        conn.Open();
        SqlDataReader DR1 = Comm1.ExecuteReader();
        if (DR1.Read())
        {
            txtstate.Text = DR1.GetValue(2).ToString();
            txtcity.Text = DR1.GetValue(1).ToString();
        }

        conn.Close();
    }
<?xml version="1.0"?>
<configuration>
  <connectionStrings>

    <add name="aConn" connectionString="Data Source=.......;Initial Catalog=aspData;Integrated Security=True"
      providerName="System.Data.SqlClient" />
  </connectionStrings>
  <system.web>
    <compilation debug="true" targetFramework="4.5">
      <assemblies>
        <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=......"/>
        <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=......."/>
        <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=........"/>
      </assemblies>
    </compilation>
    <httpRuntime targetFramework="4.5"/>
  </system.web>
</configuration>
using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();

    using (SqlCommand command = new SqlCommand(
    "SELECT TOP(1) city, state  FROM zip_code WHERE zip = @zip", connection))
    {

        command.Parameters.Add(new SqlParameter("zip", txtzip.Text));

        SqlDataReader reader = command.ExecuteReader();
        if(reader.HasRows())
        {
            var city = reader["city"].ToString();
            var state = reader["state"].ToString();

            Console.WriteLine("City = {0}, State = {1}",
                city,
                state)      

            txtstate.Text = city
            txtcity.Text = state;
        }
    }
}