//初始化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. (转)配置Website的IIS时遇到的问题与解决方法

    在部署WebSite时遇到问题,刚好发现Eric Sun的文章,因此转载做个副本. 原文地址:http://www.cnblogs.com/mingmingruyuedlut/archive/2011 ...

  2. JQuery上传插件uploadify优化

    旧版的uploadify是基于flash上传的,但是总有那么些问题,让我们用的不是很舒服.今天主要分享下在项目中用uploadify遇到的一些问题,以及优化处理 官方下载 官方文档 官方演示 下面是官 ...

  3. 读写ZIP文件

    String zipFile = /D:/+ ".zip";   StringOperator.zip(filePath, zipFile);   InputStream is = ...

  4. OC基础(21)

    Foundation框架介绍 NSString基本概念 字符串读写 字符串比较 字符串搜索 字符串截取 字符串替换 字符串与路径 字符串与基本数据类型转换 *:first-child { margin ...

  5. Redis集群搭建&访问

    集群搭建步骤 1.创建多个节点: 2.为每个节点指派槽,并将多个节点连接起来,组成一个集群: 3.当集群数据库的16384个槽都有节点在处理时,集群进入上线状态: 要求:搭建一个包含6个节点的Redi ...

  6. The Ninth Hunan Collegiate Programming Contest (2013) Problem A

    Problem A Almost Palindrome Given a line of text, find the longest almost-palindrome substring. A st ...

  7. 链表:删除链表中重复的结点(java实现)

    题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处理后 ...

  8. 【PL/SQL练习】自定义异常

    由用户自己定义1.定义异常名称,类型exception2.举出异常(raise excepttion)3.捕获异常 SQL> declare e_user_err exception; v_de ...

  9. 让Windows7运行速度更快的BIOS优化设置教程

    和以前使用WindowsXP一样,很多用户都在设法提高windows7的系统运行速速,比较常见的方法大多是对系统服务进行优化,去掉一些可有可无的系统服务,还有就是优化资源管理器菜单等.除此之外,还有一 ...

  10. confluence启动关闭

    cd /opt/atlassian/confluence/bin startup.sh shutdown.sh