【发布时间】:2014-03-10 00:09:20
【问题描述】:
我目前正在尝试开发一个应用程序,让您在课堂上跟踪您的支出。但是我遇到了错误“无效的对象名称'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 中表现完美。
任何帮助都会很棒!
【问题讨论】:
-
可能是权限问题。如果您使用的是 sql server 用户帐户,则应更改连接字符串,或添加 Windows 帐户登录。确保
grant select, insert, update, delete on dbo.AccTransactions to [<Your Domain>\<your user name>]; -
您的连接字符串中是否缺少“初始目录”?您使用的是什么版本的 SQL Server?
-
@achuthakrishnan 我使用的是 SQL Server 2012,但我不这么认为。你能解释一下吗?
-
我相信@achuthakrishnan 的意思是您的连接字符串中缺少
Initial Catalog=myDataBase;。当您尝试访问您的表时,连接默认为master数据库。看看这里connectionstrings.com/sql-server-2012
标签: c# sqlconnection