//初始化SQL数据源的提供者和连接字符串 函数 OK
public virtual void InitSqlDataSource_ConStr(SqlDataSource sql_ds)
{
ConnectionStringSettings cs_set = ConfigurationManager.ConnectionStrings["connString"];
sql_ds.ProviderName = cs_set.ProviderName;
sql_ds.ConnectionString = cs_set.ConnectionString;
}
//初始化SQL数据源的查询插入修改语句 针对一个主关键字段名称
public virtual void InitSqlDataSource_SelectInsertUpdate(SqlDataSource p_ds, string gridview_ControlID, string tableName, string where_str, string KeyFieldName)
{
string x = "";
//
ControlParameter ctrl_param = new ControlParameter();
ctrl_param.ControlID = gridview_ControlID;
ctrl_param.PropertyName = "KeyFieldName";
ctrl_param.Name = KeyFieldName;
//
string t_fd_name = "";
x = "select * from " + tableName + " where 1<>1";
DataTable dt_null = this.GetDataTable(x);
//
string fds_str = "";
string fds_val = "";
string update_fds_str = "";
//获取字段分析后字符串
this.get_SqlDataSource_sql_str(tableName, ref fds_str, ref fds_val, ref update_fds_str);
//
string insert_sql = "";
insert_sql = "insert " + tableName + "(" + fds_str + ") values(" + fds_val + ")";
string update_sql = "";
update_sql = "update " + tableName + " set " + update_fds_str + " where " + KeyFieldName + "=@" + KeyFieldName + " ";
//查询语句
p_ds.SelectCommandType = SqlDataSourceCommandType.Text;
p_ds.SelectCommand = "select * from " + tableName + " " + where_str;
//
////删除语句
p_ds.DeleteCommandType = SqlDataSourceCommandType.Text;
p_ds.DeleteCommand = "delete from " + tableName + " where " + KeyFieldName + "=@" + KeyFieldName + "";
p_ds.DeleteParameters.Clear();
p_ds.DeleteParameters.Add(ctrl_param);
//
//插入语句
p_ds.InsertCommandType = SqlDataSourceCommandType.Text;
p_ds.InsertCommand = insert_sql;
p_ds.InsertParameters.Clear();
p_ds.InsertParameters.Add(ctrl_param);
//--
for (int i = 0; i < dt_null.Columns.Count; i++)
{
t_fd_name = dt_null.Columns[i].ColumnName;
if (t_fd_name.ToUpper() != KeyFieldName)
{
p_ds.InsertParameters.Add(new Parameter(t_fd_name));
}
}
//
//修改语句
p_ds.UpdateCommandType = SqlDataSourceCommandType.Text;
p_ds.UpdateCommand = update_sql;
//--
p_ds.UpdateParameters.Clear();
p_ds.UpdateParameters.Add(ctrl_param);
for (int i = 0; i < dt_null.Columns.Count; i++)
{
t_fd_name = dt_null.Columns[i].ColumnName;
if (t_fd_name.ToUpper() != KeyFieldName)
{
p_ds.UpdateParameters.Add(new Parameter(t_fd_name));
}
}
//==
}
public virtual void InitSqlDataSource_Select(SqlDataSource p_ds,string tableName, string where_str)
{
//查询语句
p_ds.SelectCommandType = SqlDataSourceCommandType.Text;
p_ds.SelectCommand = "select * from " + tableName + " " + where_str;
//
//==
}
//获取SQL数据源的update和insert语句的需要的组合字符串 函数 OK
public void get_SqlDataSource_sql_str(string tablename, ref string fds_str, ref string fds_val, ref string update_fds_str)
{
string x = "select * from "+tablename+" where 1<>1";
DataTable dt_null = this.GetDataTable(x);
string t_fd_name = "";
fds_str = "";
fds_val = "";
//
update_fds_str = "";
//
for (int i = 0; i < dt_null.Columns.Count; i++)
{
t_fd_name = dt_null.Columns[i].ColumnName;
//#region//插入语句字符串处理
if (fds_str == "")
{
fds_str = t_fd_name;
fds_val = "@" + t_fd_name;
}
else
{
fds_str += "," + t_fd_name;
fds_val += ",@" + t_fd_name;
}
//#endregion
//#region //修改语句字符串处理
if (update_fds_str == "")
{
update_fds_str = t_fd_name + "=@" + t_fd_name;
}
else
{
update_fds_str += "," + t_fd_name + "=@" + t_fd_name;
}
//#endregion
}
}
//

调用的方法:

//初始化 需求信息登记的数据源
this.InitSqlDataSource_ConStr(this.sql_ds_xq);
string xq_ctrlID = this.dx_gv_xq.ID; //或xq_ctrlID =this.pagecontrol.ID+"$"+ this.dx_gv_xq.ID;
this.InitSqlDataSource_SelectInsertUpdate(this.sql_ds_xq, xq_ctrlID, "TableName", whereStr, "MainFieldName");

DevExpress后置代码中初始化SQL数据源的方法的更多相关文章

  1. wpf后置代码中的Grid布局以及图片路径的设置

    之前用Grid练习连连看布局时,遇到了几个困惑.此次就把当时的一些收获写出来,供以后翻看. 图片路径可能比较常用,所以就写在第一个了. 在xaml中,设置图片非常简单,只要把图片拷贝到资源目录(这里假 ...

  2. .NET在后置代码中输入JS提示语句(背景不会变白)

    来源:http://niunan.iteye.com/blog/248256 Page.ClientScript.RegisterStartupScript(Page.GetType(), " ...

  3. 在php中防止SQL注入的方法

    摘要:我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们最主要就是要配置php.ini中的内容,让我们执行 php能够更安全.整个PH ...

  4. Python中防止sql注入的方法详解

    SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库.下面这篇文章主要给大家介绍了关于Python中 ...

  5. 在Centos中导入sql文件的方法

    在Centos中导入sql文件的方法 利用mysql -u root -p进入mysql数据库 对于文件的导入,在Centos下里面的是首先要新建一个和文件相同名字的数据库.例如:mysql>c ...

  6. 关于在Java代码中写Sql语句需要注意的问题

    最近做程序,时不时需要自己去手动将sql语句直接写入到Java代码中,写入sql语句时,需要注意几个小问题. 先看我之前写的几句简单的sql语句,自以为没有问题,但是编译直接报错. String st ...

  7. 转:PHP中防止SQL注入的方法

    [一.在服务器端配置] 安全,PHP代码编写是一方面,PHP的配置更是非常关键. 我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们最 ...

  8. PL/SQL开发中动态SQL的使用方法

    一般的PL/SQL程序设计中,在DML和事务控制的语句中可以直接使用SQL,但是DDL语句及系统控制语句却不能在PL/SQL中直接使用,要想实现在PL/SQL中使用DDL语句及系统控制语句,可以通过使 ...

  9. qt中执行 sql文件的方法

    由于qt中没有原生的执行sql文件的方法.因此我们需要根据sql文件中的流的特点,将其分解成一个个语句单独执行. 1.首先通过Qfile读取sql文件 2.将sql文件中的内容通过“:”进行拆解 3. ...

随机推荐

  1. JDialog窗体

    class MyJDialog extends JDialog{    public MyJDialog(JFrame frame){    super(frame,"第一个Dialog窗体 ...

  2. Java String 的实例(02)

    1.初始化数组以及数组的拷贝 int[] a={1,2,3,4};        //System.out.println(Arrays.toString(a));        a=new int[ ...

  3. Android--Intent的使用

    1.Activity之间的切换通过Intent来完成. 1)清单文件,配置好Activity,所有Activity都需要在该文件中配置. <?xml version="1.0" ...

  4. JDK的版本历史

    JDK1.5: 2004年发布----2006年结束 JDK1.6 2006年发布-----2010年结束 一看吓我一条,开始接触JDK都已经是2010年下半年了,可是那是学的就是1.5版本,知道工作 ...

  5. WIN7上搭建Windows Phone 8 开发环境——VMware Workstation下Win8 “无法安装Hyper-V, 某个虚拟机监控程序正在运行”问题解决的办法

    最近在试着在Windows 7上搭建Windows Phone 8的开发调试环境,使用的是VMware Workstation + Win8 Pro的虚拟环境, 在漫长的WPexpress_full下 ...

  6. H264的句法和语法总结(一)分层结构

    在H.264 中,句法元素共被组织成  序列.图像.片.宏块.子宏块五个层次.在这样的结构中,每一层的头部和它的数据部分形成管理与被管理的强依赖关系,头部的句法元素是该层数据的核心,而一旦头部丢失,数 ...

  7. docker-tomcat-nginx 反向代理和负载均衡

    1.部署tomcat镜像 下载官方的tomcat镜像. -jre7 启动docker容器,2个实例,分别映射不同的端口号, ~/work/sample-webapps/[v1.0|v2.0]/下面存放 ...

  8. 超图(hypergraph)

    超图是什么? 超图的本质特征在于它的超边,它可以连接两个以上的结点(包括两个).按这样的意义来说,我们所熟悉的普通图只是超图的一个特例而已,而超图则定义了一个更加宽泛的图. 超图的数学定义为:对于超图 ...

  9. javaScript 封装

    在基于web 的b/s 架构的项目中, 丰富的界面都离不开 javascript, javascript 在 html 中变得越来越强大,但是我们在写 javascript 的时候都比较随意,随着页面 ...

  10. LSP遇到的问题

    无法打开网页,LSP必须安装在C:\windows 安装在这里比较好 c:\windows\system32