我每次访问数据库都自己手写代码,如下:
bool bResult = false;
            string strSQL = "insert into tbcity(name) values(@name) select @@rowcount";
            SqlParameter parm = new SqlParameter("@name", SqlDbType.VarChar, 50);
            parm.Value = CityNeme;
            SqlCommand cmd = new SqlCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = strSQL;
            cmd.Parameters.Add(parm);            using (SqlConnection conn = new SqlConnection(ConnectionString))
            {
                conn.Open();
                cmd.Connection = conn;
                SqlDataReader sdr = cmd.ExecuteReader();                if (sdr.Read())
                {
                    if (sdr.GetInt32(0) == 1)
                        bResult = true;
                }
            }            return bResult;在遇到参数比较多时,构建SqlParameter 很麻烦,而且读出时从SqlDataReader中按序号读,像sdr.GetInt32(0).如果个数比较多很容易数错号,感觉这种写法效率很低,大部分时间都在写数据库访问代码。请问有没有.net自带的组件之类,能够简化这种重复写代码,或者有什么好的办法解决这个问题,听说有DAAB,不知过时没有,好用吗?

解决方案 »

  1.   

     public static DataSet GetDs(string sql)
        {        SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["DBConnection"]);
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter(sql, conn);
            try
            {
                da.Fill(ds);
            }
            catch
            {
                return null;
            }
            return ds;
        }
    调用的时候: GetDs("查询语句")
      

  2.   

    你可以把我刚才写的哪个放在cs文件里 每次用的时候直接调用就可以了
        public static int SqlCmd(string sql)
        {
            SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["DBConnection"]);
            SqlCommand cmd = new SqlCommand(sql, conn);        int yxhs = 0;        try
            {
                conn.Open();
                yxhs = cmd.ExecuteNonQuery();
                conn.Close();
            }
            catch
            {            yxhs = -1;
            }        return yxhs;
        }
    这个是增、删、改用的
      

  3.   

    一般大家都会写一个sqlhelper类,这里面有着最常用的数据库操作,比如说选择数据,更新删除,添加等操作
      

  4.   

    写个dbhelp类,专门用来处理数据库的调用的方法。
    还有,sql语句,可以用存储过程,这么效率要高点。。
      

  5.   

    sdr.GetInt32(0)换成sdr["字段名"].ToString()
      

  6.   

    SQLHelper类 + 代码生成工具
    这两个东西网上都可以下知识是需要对三层结构(架构)有点认识...你可以找几篇关于三层架构的看看 然后你就明白怎么解决你的问题了
    文章要提到为什么要使用 没有使用前有什么问题...Good luck...