繁体   English   中英

ExecuteNonQuery中的无效对象名称

[英]Invalid Object Name in ExecuteNonQuery

我目前正在尝试开发一个应用程序,该应用程序可以让您在班级中跟踪自己的支出。 但是我遇到了错误“无效的对象名称'dbo.AccTransactions”

我的Windows表单代码:

    string command = "Insert INTO dbo.AccTransactions (id, transact_id, payee, dateof, amount, category)"
                            + "Values (@id, @transact_id, @payee, @dateof, @amount, @category)";
        SqlCommand cmd = new SqlCommand(command, con);
        cmd.Parameters.AddWithValue("@id", 1);
        cmd.Parameters.AddWithValue("@transact_id", 2);
        cmd.Parameters.AddWithValue("@payee", payeeTextBox.Text);
        cmd.Parameters.AddWithValue("@dateof", DateTime.Today);
        cmd.Parameters.AddWithValue("@amount", Convert.ToDecimal(amountTextBox.Text));
        cmd.Parameters.AddWithValue("@category", categoryTextBox.Text);

        con.Open();
        cmd.ExecuteNonQuery();
        con.Close();

我的连接字符串:

     SqlConnection con = new SqlConnection(@"Data Source=IVY\SQLEXPRESS;Initial Catalog=BudgetTracker;Integrated Security=SSPI;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False");

我的数据库具有表“ dbo.AccTransactions”,并且在SSMS中运行良好。

任何帮助将是巨大的!

我猜您在连接字符串中缺少数据库名称。

SqlConnection con = new SqlConnection(@"Data Source=IVY\SQLEXPRESS;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False");

通过在以下字符串中输入数据库名称来进行尝试。

 SqlConnection con = new SqlConnection(@"Data Source=IVY\SQLEXPRESS; Initial Catalog=YOUR_DATABASE_NAME;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False");

请检查运行您的程序的用户是否有权访问该表。 由于您将表访问为dbo.AccTransactions,因此很可能需要将用户设置为dbo。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM