ExecuteReader:可以读一个表的记录,只能读不能写
ExecuteNonQuery:可以写也可以读
ExecuteScalar:只能读一条记录,一般用来判断数据库是否有数据等,只能读不能写
ExecuteNonQuery():这个可以让我们在更新数据库时不使用 DataSet 而使用 ExecuteNonQuery 更改数据库中的数据。通过执行 UPDATE、INSERT 或 DELETE SQL语句就 可以达到更改数据库中的数据目的。即使 ExecuteNonQuery 不返回任何行,映射到参数的输 出参数或返回值仍然使用数据填充。但对于 UPDATE、INSERT 和 DELETE SQL语句,返回的 值就是受ExecuteNonQuery()命令影响的行数。对其它类型的语句以及回退来说,返回的值 都是 -1。
public void CreateDatabaseAsCopy(string sourceDatabase, string destDatabase, string connectionString) { using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = string.Format(RestoreSQLString, destDatabase, sourceDatabase); cmd.ExecuteNonQuery(); Logger.Info(string.Format("Create database {0} as copy of {1}", destDatabase, sourceDatabase)); } } }