如何使用ADO.NET实现对SQL数据库的增删改查
来源:长沙北大青鸟|发布时间:2017-03-26|浏览量:
ADO.NET 通过数据处理将数据访问分解为多个可以单独使用或一前一后使用的不连续组件。其中包含用于连接到数据库、执行命令和检索结果的 .NET Framework 数据提供程序。ADO.NET提供了对关系数据、XML和应用程序数据的访问。
先在自定义类的头部定义好数据库连接对象和连接字符串:
string connectionString = "Data Source=SC-201607131829;Initial Catalog=Animal;Integrated Security=True";
SqlConnection conn;
1.数据库的查询操作,返回一个DataTable
public DataTable doSelect() {
string sql = "select * from detial";
using (conn = new SqlConnection(connectionString)) {
conn.Open();
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds); //填充DataSet
return ds.Tables[0];
}
}
2.数据库插入操作,返回布尔值
public bool doInsert(string name, string skin, string weight) {
string sql = "insert into detial(name,skin,weight)values(@name,@skin,@weight)";
SqlParameter[] newAnimal = { new SqlParameter("name",name), new SqlParameter("skin",skin), new SqlParameter("weight",skin) };
using (conn = new SqlConnection(connectionString)) { SqlCommand com = new SqlCommand(sql, conn); try { if (newAnimal != null) { foreach (SqlParameter parameter in newAnimal) { com.Parameters.Add(parameter);
} } conn.Open();
int influence = com.ExecuteNonQuery();
if (influence > 0) {
return true; } else {
return false; } } catch (Exception exception) { return false;
}
}
}
3.数据库删除操作,返回布尔值
public bool doDelete(string name) {
string sql = "delete from detial where name = @name";
SqlParameter[] deleteParameter = { new SqlParameter("name", name) };
using (conn = new SqlConnection(connectionString))
{
SqlCommand com = new SqlCommand(sql, conn);
try {
if (deleteParameter != null) { foreach (SqlParameter parameter in deleteParameter) { com.Parameters.Add(parameter); }
}
conn.Open();
int influence = com.ExecuteNonQuery();
if (influence > 0) {
return true; } else {
return false; } } catch (Exception exception) { return false;
}
}
}
4.数据库更新操作,返回布尔值
public bool doUpdate(string name , string skin) {
string sql = "update detial set skin = @skin where name = @name"; SqlParameter[] updateParameter = { new SqlParameter("name",name), new SqlParameter("skin",skin) };
using (conn = new SqlConnection(connectionString)) {
SqlCommand com = new SqlCommand(sql,conn);
try {
if (updateParameter != null) {
foreach(SqlParameter parameter in updateParameter){
com.Parameters.Add(parameter);
}
}
conn.Open();
int influence = com.ExecuteNonQuery();
if (influence > 0) {
return true; } else {
return false; }
}catch(Exception exception){
return false;
}
}
}
其中为了防止sql注入,用到了SqlParameter类。
扫码关注微信公众号了解更多详情
跟技术大咖,专业导师一起交流学习
- 推荐阅读