-1

SQL Server 2012 Express をダウンロードしました。http://www.mssqltips.com/sqlservertip/2694/getting-started-with-sql-server-2012-express-localdb/を使用します。ローカル データベースを作成しました。Visual Studio 2010 を使用してそのデータベースに接続しようとすると、エラー 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 からログインできます。何が欠けているのか教えてもらえますか?

4

2 に答える 2

0

他のすべての問題1を無視して、 SQLServerLocalDBを使用しているかどうかを判断する必要があります。と呼ばれるプライベートLocalDBインスタンスを作成したかどうかは非常に疑わしいですSQLEXPRESS

次のようなものが必要になる可能性があります。

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

または

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

1は次のとおりです。

  • あなた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();
    }
}
于 2013-02-05T02:26:15.673 に答える
0

私は解決策を得ました:データベースに接続していることを確認し、サーバー名でSQL管理スタジオを起動するとき->詳細を参照を選択->データベースエンジンを選択し、ローカルデータベースを選択します。緑色のアイコンが表示され、接続されます。助けてくれてありがとう!

于 2013-02-05T22:44:24.987 に答える