2010-12-06 25 views
4

.sdf(SQLコンパイル版)データベースへの接続に大きな問題があります。最初に接続してユーザー名とパスワードを確認するために行を抽出できますが、データベースにSqlCeConnection/SqlCeCommandコマンドでアイテムを追加しようとするとSqlClient/SqlCommandアイテムを追加しようとすると運がありません。私がしようとすると、SqlConnection/SqlCeConnectionを介して.sdfデータベースに接続する際の問題

private void button1_Click_1(object sender, EventArgs e) 
{ 
    System.Data.SqlClient.SqlConnection sqlConnection1 = 
    new System.Data.SqlClient.SqlConnection("Data Source=C:\\Users\\Tim\\Documents\\Visual Studio 2010\\Projects\\Dispatch POS\\Dispatch POS\\GhsDB.sdf"); 

    System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(); 
    cmd.CommandType = System.Data.CommandType.Text; 
    cmd.CommandText = "INSERT [Employee Table] (SSN, FirstName) VALUES ('555-23-4322', 'Tim')"; 
    cmd.Connection = sqlConnection1; 

    sqlConnection1.Open(); 
    cmd.ExecuteNonQuery(); 
    sqlConnection1.Close(); 
} 

のか:

System.Data.SqlClient.SqlConnection sqlConnection1 = 
      new System.Data.SqlClient.SqlConnection("Data Source=C:\\Users\\Tim\\Documents\\Visual Studio 2010\\Projects\\Dispatch POS\\Dispatch POS\\GhsDB.sdf"); 

      System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(); 
      cmd.CommandType = System.Data.CommandType.Text; 
      cmd.CommandText = "INSERT [Employee Table] (SSN, FirstName) VALUES ('555-23-4322', 'Tim')"; 
      cmd.Connection = sqlConnection1; 

      sqlConnection1.Open(); 
      cmd.ExecuteNonQuery(); 
      sqlConnection1.Close(); 

何も起こりません、私がの.sdfファイルをチェックし、何も持っていません表示されるまで動作しているようですが、使用している場合

A network-related or instance-specific error occurred while establishing 
a connection to SQL Server. The server was not found or was not accessible. 
Verify that the instance name is correct and that SQL Server is configured to 
allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error 
Locating Server/Instance Specified) 

:私は取得します追加されました。私はSQL Server CEをインストールしていないが、私は2008 R2をインストールしている(私は他の誰かのプロジェクトに取り組んでいる)。

私はセキュリティホールについて心配していません。レコードを追加しようとしています。私が約20分かかりそうなものに取り組んでから約3〜4時間を費やしたので、どんな助けでも大歓迎です。

答えて

10

おそらくあなたは今では解決策を発見したが、あなたは、SDFファイルを使用する場合、アセンブリはあなたがSystem.Data.SqlServerCeを参照を追加し、何かする必要があります

SqlCeConnection sqlConnection1= new SqlCeConnection(); 
sqlConnection1.ConnectionString = "Data Source = C:\\Users\\Tim\\Documents\\Visual Studio 2010\\Projects\\Dispatch POS\\Dispatch POS\\GhsDB.sdf"; 

System.Data.SqlServerCe.SqlCeCommand cmd = System.Data.SqlServerCe.SqlCeCommand; 
cmd.CommandType = System.Data.CommandType.Text; 
cmd.CommandText = "INSERT [Employee Table] (SSN, FirstName) VALUES ('555-23-4322', 'Tim')"; 
cmd.Connection = sqlConnection1; 

sqlConnection1.Open(); 
cmd.ExecuteNonQuery(); 
sqlConnection1.Close(); 
+0

私は正しい方向に向いてくれてありがとう - ありがとう! –

0

あなたが使用するのが最もsqlceconnectionおよびsqlcecommandクラス。このように:

 SqlCeConnection conn = new SqlCeConnection(connectionString);    
     SqlCeCommand cmd = conn.CreateCommand(); 
     conn.Open(); 
関連する問題