2013-02-04 71 views
-1

我下载SQL Server 2012的快车。使用http://www.mssqltips.com/sqlservertip/2694/getting-started-with-sql-server-2012-express-localdb/。我创建了一个本地数据库。现在,当我试图连接到数据库使用Visual Studio 2010,它抛出我错误26SQL Server 2012的错误26

这里是我的代码:

using(SqlConnection connectionString = new SqlConnection(@"Server=(localdb)\SQLEXPRESS;database=master;Trusted_Connection=True;")       
{ 
    connectionString.Open(); //error 26 
    sql = "insert into Main ([Cable Length1], [Cable Length2]) values(@3',@5')"; 

    using (SqlCommand cmd = new SqlCommand(sql, connectionString)) 
    { 
     cmd.Parameters.AddWithValue("@3'", 1); 
     cmd.Parameters.AddWithValue("@5'", 2); 
     cmd.ExecuteNonQuery(); 
       } 
} 

而且,我能够通过SQL Server Management Studio的2012年。任何人都可以登录告诉我我错过了什么?

+2

这是一个Windows应用程序或网络应用?你得到什么错误_message_? –

+0

@Cook - 什么是额外的 'T' 为在这条线:'SQL = “插入主([电缆长度1],[电缆长度2])值(@ 3' ,@ 5't)”;'?你在查询中有这样的内容,但不在你的:'cmd.Parameters.AddWithValue(“@ 5'”,2);'删除't'并重试。 – Brian

+0

伙计们,这是Windows应用程序@Brian:对't'抱歉,但它引发了我自己打开的错误。 – Cook

回答

0

忽略所有其他问题,您应该下定决心是否使用SQL Server LocalDB。我非常怀疑你已经创建了一个名为SQLEXPRESS的私有LocalDB实例。

你可能想沿着线的东西:

new SqlConnection(@"Server=(localdb)\v11.0;Trusted_Connection=True;") 

或者

new SqlConnection(@"Server=.\SQLEXPRESS;Trusted_Connection=True;") 

为以下几点:

  • SqlConnection被称为connectionString
  • 带引号的参数名称。
  • 使用master,然后试图插入表名为Main。系统数据库用于系统。你不是这个系统。

我希望看到沿着线的东西:

using (var connection = new SqlConnection(@"Server=(localdb)\v11.0;Database=MyDatabaseName;Integrated Security=true;") 
{ 
    connection.Open(); 

    using (var command = connection.CreateCommand()) 
    { 
      command.CommandText = "INSERT INTO [Main] ([Cable Length1], [Cable Length2]) VALUES(@3, @5)"; 

      command.Parameters.AddWithValue("@3", 1); 
      command.Parameters.AddWithValue("@5", 2); 

      command.ExecuteNonQuery(); 
    } 
} 
0

我得到了解决办法:请确保您连接到数据库,当你启动下服务器名称SQL Management Studio中 - >选择浏览更多 - >选择数据库引擎,然后选择你的本地数据库。你应该看到绿色图标,然后你就可以连接。谢谢你们的帮助!