首页 新闻 会员 周边

求讲解sql语句

0
悬赏园豆:5 [已解决问题] 解决于 2015-06-18 21:57
  public List<FMDS_Water_ObserInfo> GetModelListBySql(QueryBuilder queryBuilder)
        {
            StringBuilder sbSql = new StringBuilder();
            sbSql.Append(@"EXEC('select ID,Name,Location,Longitude,Latitude,IsDelete,CreatedBy,CreatedDate,ModifiedBy,ModifiedDate,ThreeCode,Locations,OrganiseUnitID,Pic,Remarks 
                    from [FMDS_Water_Obser] '+ @Condition +' '+@SortBy)");

            // 如果没有排序,就指定默认的排序
            if (queryBuilder.OrderCount == 0)
            {
                queryBuilder.AddOrderASC(FMDS_Water_ObserInfo.FMDS_WATER_OBSER_TABLE, FMDS_Water_ObserInfo.ID_FIELD);
            }
            SqlParameter[] parameters = SqlDbCommandBuilder.BuildQueryCommand(queryBuilder);
            List<FMDS_Water_ObserInfo> models = new List<FMDS_Water_ObserInfo>();
            //执行查询    
            using (SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.LocalWaterConnectionString, CommandType.Text, sbSql.ToString(), parameters))
            {
                while (rdr.Read())
                {
                    FMDS_Water_ObserInfo model = new FMDS_Water_ObserInfo();
                    model.ID = (new Guid(rdr[FMDS_Water_ObserInfo.ID_FIELD].ToString()));
                    model.Name = Convert.IsDBNull(rdr[FMDS_Water_ObserInfo.NAME_FIELD]) ? string.Empty : rdr[FMDS_Water_ObserInfo.NAME_FIELD].ToString();
                    model.Location = Convert.IsDBNull(rdr[FMDS_Water_ObserInfo.LOCATION_FIELD]) ? string.Empty : rdr[FMDS_Water_ObserInfo.LOCATION_FIELD].ToString();
                    model.Longitude = Convert.IsDBNull(rdr[FMDS_Water_ObserInfo.LONGITUDE_FIELD]) ? int.MinValue : Convert.ToDecimal(rdr[FMDS_Water_ObserInfo.LONGITUDE_FIELD]);
                    model.Latitude = Convert.IsDBNull(rdr[FMDS_Water_ObserInfo.LATITUDE_FIELD]) ? int.MinValue : Convert.ToDecimal(rdr[FMDS_Water_ObserInfo.LATITUDE_FIELD]);
                    model.IsDelete = Convert.IsDBNull(rdr[FMDS_Water_ObserInfo.ISDELETE_FIELD]) ? int.MinValue : Convert.ToInt32(rdr[FMDS_Water_ObserInfo.ISDELETE_FIELD]);
                    model.CreatedBy = Convert.IsDBNull(rdr[FMDS_Water_ObserInfo.CREATEDBY_FIELD]) ? string.Empty : rdr[FMDS_Water_ObserInfo.CREATEDBY_FIELD].ToString();
                    model.CreatedDate = Convert.IsDBNull(rdr[FMDS_Water_ObserInfo.CREATEDDATE_FIELD]) ? Convert.ToDateTime("1900-1-1") : Convert.ToDateTime(rdr[FMDS_Water_ObserInfo.CREATEDDATE_FIELD]);
                    model.ModifiedBy = Convert.IsDBNull(rdr[FMDS_Water_ObserInfo.MODIFIEDBY_FIELD]) ? string.Empty : rdr[FMDS_Water_ObserInfo.MODIFIEDBY_FIELD].ToString();
                    model.ModifiedDate = Convert.IsDBNull(rdr[FMDS_Water_ObserInfo.MODIFIEDDATE_FIELD]) ? Convert.ToDateTime("1900-1-1") : Convert.ToDateTime(rdr[FMDS_Water_ObserInfo.MODIFIEDDATE_FIELD]);
                    model.ThreeCode = Convert.IsDBNull(rdr[FMDS_Water_ObserInfo.THREECODE_FIELD]) ? string.Empty : rdr[FMDS_Water_ObserInfo.THREECODE_FIELD].ToString();
                    model.Locations = Convert.IsDBNull(rdr[FMDS_Water_ObserInfo.LOCATIONS_FIELD]) ? string.Empty : rdr[FMDS_Water_ObserInfo.LOCATIONS_FIELD].ToString();
                    model.OrganiseUnitID = Convert.IsDBNull(rdr[FMDS_Water_ObserInfo.ORGANISEUNITID_FIELD]) ? int.MinValue : Convert.ToInt32(rdr[FMDS_Water_ObserInfo.ORGANISEUNITID_FIELD]);
                    model.Pic = Convert.IsDBNull(rdr[FMDS_Water_ObserInfo.PIC_FIELD]) ? (new Guid()) : (new Guid(rdr[FMDS_Water_ObserInfo.PIC_FIELD].ToString()));
                    model.Remarks = Convert.IsDBNull(rdr[FMDS_Water_ObserInfo.REMARKS_FIELD]) ? string.Empty : rdr[FMDS_Water_ObserInfo.REMARKS_FIELD].ToString();
                    models.Add(model);
                }
            }
            return models;
        }

请问exec的作用是什么?

上面的方法给我讲解一下

asdfgqq的主页 asdfgqq | 初学一级 | 园豆:8
提问于:2015-05-29 12:05
< >
分享
最佳答案
0

学编程的要会百度,百度一下就知道什么作用了。

收获园豆:2
mczxmin | 初学一级 |园豆:196 | 2015-05-30 10:45
其他回答(2)
0

一般使用exec 有两个作用:1.执行存储过程,2.执行一个动态批次;你程序中的就是执行一个动态批次,里面放的就是一个SQL字符串。

收获园豆:2
IT小伙儿 | 园豆:11 (初学一级) | 2015-05-29 13:29
0

这里感觉用exec就是脱了裤子放屁,直接用就可以了。为什么要加个exec

exec一般用来执行过程,还有sql语句

exec up_x;

exec(@sql);

最常用的就是这两种。

收获园豆:1
gw2010 | 园豆:1487 (小虾三级) | 2015-05-29 15:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册