DAO层数据操作的封装



创建一个数据库操作的类:



using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;

namespace GTBS
{
    public static class SqlHelper
    {
        public static readonly string connstr =
            System.Configuration.ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;                         //获取来自web.config中的<connectionString>中的字符串

        public static SqlConnection OpenConnection()                                                                                               //打开数据连接
        {
            SqlConnection conn = new SqlConnection(connstr);
            conn.Open();
            return conn;
        }

        public static int ExecuteNonQuery(string cmdText,                                                                           //插入和删除,修改可以使用此函数
            params SqlParameter[] parameters)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                conn.Open();
                return ExecuteNonQuery(conn, cmdText, parameters);
            }
        }

        public static object ExecuteScalar(string cmdText,
            params SqlParameter[] parameters)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                conn.Open();
                return ExecuteScalar(conn, cmdText, parameters);
            }
        }

        public static DataTable ExecuteDataTable(string cmdText,                                                          //查询多用这个函数
            params SqlParameter[] parameters)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                conn.Open();
                return ExecuteDataTable(conn, cmdText, parameters);
            }
        }

        public static int ExecuteNonQuery(SqlConnection conn, string cmdText,
           params SqlParameter[] parameters)
        {
            using (SqlCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = cmdText;
                cmd.Parameters.AddRange(parameters);
                return cmd.ExecuteNonQuery();
            }
        }

        public static object ExecuteScalar(SqlConnection conn, string cmdText,
            params SqlParameter[] parameters)
        {
            using (SqlCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = cmdText;
                cmd.Parameters.AddRange(parameters);
                return cmd.ExecuteScalar();
            }
        }

        public static DataTable ExecuteDataTable(SqlConnection conn, string cmdText,
            params SqlParameter[] parameters)
        {
            using (SqlCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = cmdText;
                cmd.Parameters.AddRange(parameters);
                using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
                {
                    DataTable dt = new DataTable();
                    adapter.Fill(dt);
                    return dt;
                }
            }
        }

        public static object ToDBValue(this object value)
        {
            return value == null ? DBNull.Value : value;
        }

        public static object FromDBValue(this object dbValue)
        {
            return dbValue == DBNull.Value ? null : dbValue;
        }
    } 
}



使用案例:

插入使用:

  [HttpPost]
        [ValidateInput(false)]
        public ActionResult Admin_add()
        {
            string grade = Request["grade"];
            string subjects=Request["subjects"];
            string difficu = Request["difficu"];
            string topic = Request["topic"];
            //判断添加试题的题型
            if (topic == "选择题")
            {
               
                try
                {
                    string title=Request["title"];
                    string a=Request["a"];
                    string b=Request["b"];
                    string c=Request["c"];
                    string d=Request["d"];
                    string correct=Request["correct"];
                    SqlHelper.ExecuteNonQuery("insert into T_Choice(title,a,b,c,d,level,grade,subjects,correct,time) values(@title,@a,@b,@c,@d,@difficu,@grade,@subjects,@correct,getdate())", new SqlParameter("@title", title), new SqlParameter("@a", a), new SqlParameter("@b", b), new SqlParameter("@c",c), new SqlParameter("@d", d), new SqlParameter("@difficu", difficu), new SqlParameter("@grade", grade), new SqlParameter("@subjects", subjects), new SqlParameter("@correct", correct));
                }
                catch
                {
                    return Content("error");
                }
                return Content("success");
 
            }
            else if (topic == "填空题")
            {
                try
                {
                    string editor = Request["editor"];                 //编辑的题目
                    string correct = Request["correct"];               //编辑的题目答案
                    SqlHelper.ExecuteNonQuery("insert into T_Completion(title,level,grade,subjects,correct,time) values(@editor,@difficu,@grade,@subjects,@correct,getdate())", new SqlParameter("@editor", editor), new SqlParameter("@difficu", difficu), new SqlParameter("@grade", grade), new SqlParameter("@subjects", subjects), new SqlParameter("@correct", correct));
                }
                catch
                {
                    return Content("error");                           //数据库写入异常
                }
                return Content("success");

 
            }
            else
            {
                try
                {
                    string editor = Request["editor"];                 //编辑的题目
                    string correct = Request["correct"];               //编辑的题目答案
                    SqlHelper.ExecuteNonQuery("insert into T_Questions(title,level,grade,subjects,correct,time) values(@editor,@difficu,@grade,@subjects,@correct,getdate())", new SqlParameter("@editor", editor), new SqlParameter("@difficu", difficu), new SqlParameter("@grade", grade), new SqlParameter("@subjects", subjects), new SqlParameter("@correct", correct));
                }
                catch
                {
                    return Content("error");
                }
                return Content("success");
 
            }

        }



删除使用:

  public ActionResult Admin_remove()
        {
            string topic=Request["topic"];
            string num=Request["num"];
            try
            {
                if (topic == "选择题")
                {
                    SqlHelper.ExecuteNonQuery("delete from T_Choice where num=@num", new SqlParameter("@num", num));
                    return Content("success");

                }
                else if (topic == "填空题")
                {
                    SqlHelper.ExecuteNonQuery("delete from T_Completion where num=@num", new SqlParameter("@num", num));
                    return Content("success");
                }
                else  //if topic =   'questions'
                {
                    SqlHelper.ExecuteNonQuery("delete from T_Questions where num=@num", new SqlParameter("@num", num));
                    return Content("success");
                }
            }
            catch
            {
                return Content("error");
            }

        }
       


查询:

 int num_c = Convert.ToInt32(Request["num_c"]);
            if (num_c != 0)
            {
                result += "<br/><label>填空题答案</label><br/>";
                DataTable table = SqlHelper.ExecuteDataTable("select * from T_Completion wheresubjects=@subjects and grade=@grade",new SqlParameter("@subjects",subjects),new SqlParameter("@grade",level_detailed));
                if (table.Rows.Count > 0)
                {
                    DataRow row;
                    string correct = string.Empty;
                    for (int i = 0; i < num_c; i++)
                    {
                        j = i + 1;
                        row = table.Rows[0];
                        correct = row["correct"].ToString();
                        result += j.ToString() + "、" + correct + "<br/>";
                    }
                }
            }





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值