这个错误每次都会发生。我该怎么办? [复制]

Posted

技术标签:

【中文标题】这个错误每次都会发生。我该怎么办? [复制]【英文标题】:This error keeps happening every time. What should I do? [duplicate] 【发布时间】:2020-12-23 10:12:30 【问题描述】:

我已经开始从事现金券项目。当我单击提交按钮时,会出现一个弹出框并显示“无效对象凭证表”。 我该怎么办??

private void bunifuFlatButton1_Click(object sender, EventArgs e)
    
        string con = ConfigurationManager.ConnectionStrings["mydb"].ConnectionString;
        SqlConnection sqlcn = new SqlConnection(con);
        sqlcn.Open();

        try
        
            SqlCommand cmd = new SqlCommand("INSERT INTO voucher_table(customerID, planName, days, planAmount, validFrom, validTo, amountInWords, date, rupees) values(@customerID, @planName, @days, @planAmount, @validFrom, @validTo, @amountInWords, @date, @rupees)", sqlcn);
            cmd.CommandType = CommandType.Text;
            cmd.Parameters.AddWithValue("@customerID", customerID.Text);
            cmd.Parameters.AddWithValue("@planName", planName.Text);
            cmd.Parameters.AddWithValue("@days", days.Text);
            cmd.Parameters.AddWithValue("@planAmount", planAmount.Text);
            cmd.Parameters.AddWithValue("@validFrom", validFrom.Text);
            cmd.Parameters.AddWithValue("@validTo", validTo.Text);
            cmd.Parameters.AddWithValue("@amountInWords", amountInWordsTextBox1.Text + amountInWordsTextBox2.Text);
            cmd.Parameters.AddWithValue("@date", date.Text);
            cmd.Parameters.AddWithValue("@rupees", rupees.Text);

            int i = cmd.ExecuteNonQuery();
            if (i > 0)
            
                MessageBox.Show("Voucher Created Successfully");
                SqlCommand cmd1 = new SqlCommand("select max(primaryNo) from voucher_table", sqlcn);
                SqlDataReader dr1 = cmd1.ExecuteReader();
                if (dr1.Read())
                
                    MessageBox.Show("Your Voucher No is '" + dr1.GetInt32(0) + "'Your Voucher is Created Successfully!");
                    Voucher_Successful success = new Voucher_Successful();
                    success.ShowDialog();
                
                this.Close();
            
            else
            
                MessageBox.Show("An Error Occured... Voucher Not Created");
            
            sqlcn.Close();
        
        catch (SqlException ex)
        
            MessageBox.Show(ex.Message);
        

编辑:Image 01

Image 02

编辑:找到的答案: 我添加了初始目录:我的现金券;在 app.config 中,问题解决了。

【问题讨论】:

Dan Guzman 说:"AddWithValue is Evil" - 请阅读这篇文章并停止使用它! 您是否在连接字符串中选择了正确的数据库? 该错误表示该数据库中不存在该表。您可能连接到错误的数据库,或者尚未创建表 您应该始终using 块中创建连接,否则连接会保持打开状态,直到 GC 收集它,可能几个小时后。每次遇到异常时,您都会泄漏一个打开的连接。使用finally 也不够,因为在某些极端情况下可以跳过finallyusing 则不行 不,它没有。你的电脑一开始就有问题。你需要修复它。数十万台服务器作为默认实例运行,如果出现问题,很多 大公司会注意到。 MS 会破产 【参考方案1】:

我认为您的连接字符串存在问题,因为错误消息清楚地提到未找到表名。有一种简单的方法可以检查连接性。只需执行以下操作

无需添加连接,仅用于测试。测试完成后点击取消按钮将其关闭。

【讨论】:

【参考方案2】:

我认为您不在正确的数据库中(即 SQL 命令没有找到凭证表)。 检查您连接的数据库中是否确实存在凭证表。

我发现了和你类似的问题,你也可以在那里找到帮助:SQL Server: invalid object name in query execution

【讨论】:

以上是关于这个错误每次都会发生。我该怎么办? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如果我的快应用被拒绝,并且错误信息提示发生错误,我该怎么办?

Django 错误,我该怎么办? [复制]

电脑每天第一次开机都会蓝屏

每次项目更新时我都必须更改数据库我该怎么办?

Unity C# Firebase:如果“task.Exception.Message”返回“发生了一个或多个错误”并且没有返回数据,我该怎么办?

当我尝试使用 pip install psycopg2 安装 psycopg2 时,出现此错误。我该怎么办? [复制]