0
SqlConnection scon = new SqlConnection(arthurDBConnectionString);
SqlDataAdapter da = new SqlDataAdapter();
da.InsertCommand = new SqlCommand("INSERT INTO userInfo VALUES(@firstname, @lastname)", scon);
da.InsertCommand.Parameters.Add("@firstname", SqlDbType.VarChar).Value = firstname;
da.InsertCommand.Parameters.Add("@lastname", SqlDbType.VarChar).Value = lastname;

scon.Open();
da.InsertCommand.ExecuteNonQuery(); <--Exception(Invalid object name)
scon.Close();

首先,我想说我是 SQL 新手。我正在使用 C# 开发一个应用程序,它将在 SQL Server 上操作数据。上面是我用于将数据添加到表的两列的代码,但我收到“userInfo”(表)是无效对象名称的错误。我已确保该表存在于数据库中并且连接已打开。我也尝试过将表格称为 相同DATABASENAME.SCHEMA.userInfoSCHEMA.userInfo结果。提前感谢您的任何帮助或意见。

4

3 回答 3

3

如果您收到该错误,则您的范围内没有“userInfo”表。尝试使用管理工作室登录并使用查询分析器运行相同的命令。确保您在 arthurDBConnectionString 中使用相同的登录信息,调试您的方法并将鼠标悬停在它上面以确保您使用的是导致错误的相同信息。

1) 如果您的排序规则区分大小写(使用 进行检查SELECT SERVERPROPERTY('COLLATION')),则“userInfo”的大写必须相同。

2)您在正确的数据库中吗?也许您的连接字符串拼错了属性(即INITIL CATALOG=dbname,在您的代码中尝试另一个命令SELECT db_name()以确保。

3) 架构是否相同?

4)您是否有权从表格中选择?

于 2013-04-09T20:28:19.317 回答
1

检查,1)检查您创建的表是否存在于您在连接字符串中提供的同一数据库中。2) 交叉核对表名

于 2013-04-09T20:12:20.527 回答
0

而不是这个

da.InsertCommand.Parameters.Add("@firstname", SqlDbType.VarChar).Value = firstname;
da.InsertCommand.Parameters.Add("@lastname", SqlDbType.VarChar).Value = lastname;

用这个

da.InsertCommand.Parameters.Add("@firstname", SqlDbType.VarChar).Value = textBox1.Text;
da.InsertCommand.Parameters.Add("@lastname", SqlDbType.VarChar).Value = textBox2.Text
于 2013-06-30T04:41:30.940 回答