2017-12-30 19 views
0

私は、既存のデータベース行にデータを追加するWebアプリケーションを作成しています。私の場合、ボタンをクリックすると、NULL値を持つ列にデータが挿入されるようにします。ASP.netでSystem.Data.SqlClient.SqlExceptionエラーを解決するにはどうすればよいですか?

ツアーに行く予定の人物の日付と人数を選択できるページがあり、[今すぐ予約]ボタンをクリックすると、日付と人物のデータをデータベースに追加する必要があります。

System.Data.SqlClient.SqlException: 'An attempt to attach an auto-named database for file C: \Users\xxx\Documents\xxx\Project\App_Data\Database.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.' 

私の友人は、私は私の現在のデータベースを削除して、再度データベース全体をやり直す必要があります。このエラーを解決すると言ったが、私は見つける:私はボタンをクリックしたときのよう

ただし、このエラーが表示されます私はすでに大きなデータベースを設定しているので、非常に時間がかかり退屈です。

これらはボタンの私が持っているコードです:

protected void bookBtn_Click(object sender, EventArgs e) 
    { 
    SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C: \Users\xxx\Documents\XXX\Project\App_Data\Database.mdf;Integrated Security=True"); 
    //SqlCommand cmd = new SqlCommand("Booking",con); 
    //not sure if this is correct 
    SqlCommand cmd = new SqlCommand("Update Tours set date = + '"+dateTextbox.Text+"', person = '"+personDLL.Text+"' Where [email protected]"); 
    cmd.CommandType = System.Data.CommandType.StoredProcedure; 

    cmd.Parameters.AddWithValue("date", dateTextbox.Text); 
    cmd.Parameters.AddWithValue("person", personDLL.Text); 




    con.Open(); //error here 
    int k = cmd.ExecuteNonQuery(); 
    if (k != 0) 
    { 
     lblmsg.Text = "Record Inserted Succesfully into the Database"; 
     lblmsg.ForeColor = System.Drawing.Color.CornflowerBlue; 
    } 
    con.Close(); 

} 

は、私は私のデータベース全体をやり直すことなく、次のエラーを解決することができる方法はありますか?

*私は、私はstackoverflowのは私がより良い説明のために画像をアップロードすることはできません10 reputtationを持っていないので、その

+0

** C:\ Users \ g_jes \ ... **に** C:**の後にスペースがあるのはなぜですか? – maddy23285

+0

スペースを削除してもエラーが発生した場合、データベースは実行できません。 @ maddy23285の前にこれを試しました – depressedGirl

答えて

0

について申し訳ありませんが、「初期カタログを使用してみてください* ONEデータベース、無重複のもの

を持っています'の代わりAttachDbFilenameのこのようなあなたの接続文字列で:

SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;Initial Catalog=C: \Users\g_jes\Documents\Gilberte Jessie\aspjProject\App_Data\Database.mdf;Integrated Security=True"); 
+0

これはうまくいきませんでした。「ログインで要求されたデータベースを開くことができません」という新しいエラーが表示されます。@Mohammad – depressedGirl

+0

jes、接続文字列C:\にスペースがあります。 – Alander

+0

@depressedGirl DB認証を確認してください。 – Mohammad

0

それがSQLデータベースですので、あなたの接続文字列は次のようになります...

データソース= \ SQLEXPRESS;データベース=;統合セキュリティ= Trueの

これは、SQL Serverのインスタンスを参照し、「データベース名」

はまだ、データベースの完全なパスを参照したいデータベースが に言及探します!! この既存の投稿をチェックアウト:A database with the same name exists, or specified file cannot be opened, or it is located on UNC share

+0

私は自分のデータベースの接続文字列を直接コピーしました – depressedGirl

関連する問題