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'(表)是无效对象名称的错误。我确保该表存在于数据库中,并且连接是Open。我也尝试过将表格称为
DATABASENAME.SCHEMA.userInfo
和SCHEMA.userInfo
具有相同的结果。提前感谢您的任何帮助或意见。
答案 0 :(得分:3)
如果您收到该错误,则示波器中没有“userInfo”表。尝试使用management studio登录并使用查询分析器运行相同的命令。确保在arthurDBConnectionString中使用相同的登录信息,调试方法并将鼠标悬停在其上以确保使用导致错误的相同信息。
1)如果您的排序规则区分大小写(使用SELECT SERVERPROPERTY('COLLATION')
检查),则'userInfo'的大小写必须相同。
2)您是否在正确的数据库中?也许你的连接字符串错误拼写了属性(即INITIL CATALOG=dbname
,请在代码SELECT db_name()
中尝试另一个命令以确保。
3)架构是否相同?
4)您是否有权从表格中进行选择?
答案 1 :(得分:1)
检查, 1)检查您创建的表是否存在于您在连接字符串中提供的相同数据库中。 2)交叉检查表名称
答案 2 :(得分: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