使用Visual Studio 2010時出現問題。我正在使用基於服務的數據庫(.mdf
)。 我已經在Visual Studio中手動創建了一些包含一些信息的表格。我寫的代碼可以從表中讀取,但是當我插入新信息時,它看起來像是將數據添加到其他數據庫。C#數據庫寫入表不起作用
我可以從正確的表中讀取信息,但是當我向表中添加信息時,無法在Visual Studio中看到服務器資源管理器中的更改。
我不知道爲什麼要使用不同的數據庫!有人知道這個問題嗎?
這裏是我的代碼:
public class DataAccess
{
private SqlConnection sqlConnection;
private SqlCommand sqlCommand;
private SqlDataAdapter dataAdapterAnimal;
private DataSet dataset;
private string connectionString = DBAccessLayer.Properties.Settings.Default.AnimalDBConnectionString;
public DataSet LoadAnimalDataSet()
{
dataset = new DataSet();
using (sqlConnection = new SqlConnection(connectionString))
{
sqlConnection.Open();
dataAdapterAnimal = new SqlDataAdapter("SELECT * FROM AnimalTable", sqlConnection);
dataAdapterAnimal.Fill(dataset, "AnimalTable");
sqlConnection.Close();
return dataset;
}
}
public void AddAnimal(int animalID, string name, double age, string category, string gender, string extraAnimalInfo)
{
sqlConnection = new SqlConnection(connectionString);
sqlCommand = new SqlCommand("INSERT INTO AnimalTable VALUES(@AnimalID, @Name, @Age, @Category, @Gender, @ExtraAnimalInfo)", sqlConnection);
try
{
sqlConnection.Open();
sqlCommand.Parameters.Add(new SqlParameter("@AnimalID", animalID));
sqlCommand.Parameters.Add(new SqlParameter("@Name", name));
sqlCommand.Parameters.Add(new SqlParameter("@Age", age));
sqlCommand.Parameters.Add(new SqlParameter("@Category", category));
sqlCommand.Parameters.Add(new SqlParameter("@Gender", gender));
sqlCommand.Parameters.Add(new SqlParameter("@ExtraAnimalInfo", extraAnimalInfo));
sqlCommand.ExecuteNonQuery();
sqlConnection.Close();
}
catch (Exception ex)
{
throw;
}
}
請告訴我們你嘗試過的一些代碼。 – Bit 2013-04-07 14:47:45
有什麼異常嗎?你確定該表中沒有觸發器嗎? – 2013-04-07 14:51:33
很可能,您正在閱讀2個不同的數據庫。 VS會在您的項目/解決方案中爲您製作一份.mdf的副本。是這樣嗎? – IAbstract 2013-04-07 14:52:53