C#数据库操作的示例详解
//创建数据库操作类,DBOpera,方便其他功能在进行数据库操作时,减少重复工作。
//数据库链接字符串,使用private防止为外部访问修改
private static string connstring = @"Data source = RANDOMSQLEXPRESS; Initial Catalog = DB1;User ID=sa; pwd = 123456";
//数据库链接对象
public static SqlConnection conn = new SqlConnection(connstring);
//定义执行sql查询语句方法
public int ExecSQL(string sql)
{
//执行查询语句后并不需要返回所有的查询结果,而仅需要返回一个值,
//例如查询表中的记录行数
//实例化sqlcommand类。
SqlCommand cmd = new SqlCommand(sql, conn);
if (conn.State == ConnectionState.Closed)//如果当前数据库链接处于关闭状态
conn.Open();
int num = Convert.ToInt32(cmd.ExecuteScalar());//执行查询
conn.Close();
return num;
}
public int ExecSQLResult(string sql)
{
/*执行非查询 SQL 语句时并不需要返回表中的数据
增加、修改、删除的操作
该方法的返回值是一个整数,表示 SqlCommand 类在执行 SQL 语句后,
对表中数据影响的行数。返回值为-1时,代表 SQL 语句执行失败,返回值为 0 时,代表 SQL 语句对当前数据表中的数据没有影响。*/
//实例化sqlcommand对象
SqlCommand cmd = new SqlCommand(sql, conn);
if (conn.State == ConnectionState.Closed)
conn.Open();
int result = cmd.ExecuteNonQuery();
conn.Close();
return result;
}
public DataSet GetDataSet(string sql)
{
//将数据表中的数据查询出来并添加到 DataSet 中
//每个 DataSet 都是由若干个数据表构成的,DataTable 即数据表,
//每个 DataTable 也都是由行和列构成的,
//行使用 DataRow 类表示、列使用 DataColumn 类表示。
SqlDataAdapter sqlda = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
sqlda.Fill(ds); //填充数据集
return ds; // 返回数据集
}
public SqlDataReader GetDataReader(string sql)
{
//读取表中的查询结果,以只读方式读取的(即不能修改 DataReader 中存放的数据)
//当查询结果仅为一条时,可以使用 if 语句查询 DataReader 对象中的数据,
//如果返回值是多条数据,需要通过 while 语句遍历 DataReader 对象中的数据。
SqlCommand cmd = new SqlCommand(sql, conn);
if (conn.State == ConnectionState.Closed)
conn.Open();
SqlDataReader sqlDR = cmd.ExecuteReader();
return sqlDR;
}
}
//外部调用DBOpera类,将模拟产生的考试成绩存储到数据库中
//将考试成绩保存到数据库中
//调用DataOperaor类中ExecSQLResult方法
string sql = "insert into MScore(Level,Math,Chinese,English," +
"Chemical,Physics,Biology,TotalScore,AvgScore) values" +
"('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}')";
//填充SQL语句
sql = string.Format(sql, ScoreLevel, tbx01.Text, tbx02.Text, tbx03.Text, tbx04.Text, tbx05.Text,
tbx06.Text, SumScore.ToString(), AvgScore.ToString());
int result = DbOpera.ExecSQLResult(sql);
if (result != -1)
{
MessageBox.Show("数据存储成功");
}
else
{
MessageBox.Show("数据存储失败!");
}
- .NET Core系列之MemoryCache 初识
- 007手机一键Root(安机网一键Root) v3.0 官方最新版 一键ROOT您的Android手机
- 12306密码被盗了怎么办?12306密码外泄解决方法
- 12个字的qq网名
- 150M迷你型无线路由器怎么设置?
- 192.168.1.1打不开怎么办?路由器192.168.1.1打不开的原因以及解决办法
- 2011年电子报合订本 电子报 编辑部 中文 PDF版 [84M]
- 2015年1月15日小米新旗舰发布会现场图文直播
- 2016.3.1vivo Xplay5新品发布会现场视频直播 优酷直播
- 2016华为P9发布会视频直播地址 4月15日华为P9国行发布会直播