我想将数据写入本地数据库表。 当我运行代码时没有错误,当我在插入语句后计算行时,消息框显示我插入了一行。 但是,当我关闭程序并查看我的数据库时,没有新的行。
我正在使用C#和Visual Studio 2013。
有人知道问题是什么吗?
谢谢。
String connection = "Data Source=(LocalDB)\\v11.0;AttachDbFilename=|DataDirectory|\\Datenbank.mdf;Integrated Security=True;Connect Timeout=30";
SqlConnection cnn = new SqlConnection(connection);
cnn.Open();
String query = "INSERT INTO Customer (ID, Name) VALUES (@id, @name)";
SqlCommand command = new SqlCommand(query, cnn);
command.Parameters.AddWithValue("@id", 1);
command.Parameters.AddWithValue("@name", 'John');
SqlDataReader reader;
command.ExecuteNonQuery();
query = "Select count(ID) from Customer";
command = new SqlCommand(query, cnn);
reader = command.ExecuteReader();
while (reader.Read())
{
MessageBox.Show(reader[0].ToString());
}
reader.Close();
答案 0 :(得分:1)
试试这样:
try {
int rowsAffected = command.ExecuteNonQuery();
if (0 < rowsAffected)
MessageBox.Show("Success!");
else
MessageBox.Show("Failed!");
} catch (SqlException ex) {
MessageBox.Show(ex.Message);
} finally {
if (cnn.State == ConnectionState.Open)
cnn.Close();
}