DevExpress后置代码中初始化SQL数据源的方法
//初始化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数据源的方法的更多相关文章
- wpf后置代码中的Grid布局以及图片路径的设置
之前用Grid练习连连看布局时,遇到了几个困惑.此次就把当时的一些收获写出来,供以后翻看. 图片路径可能比较常用,所以就写在第一个了. 在xaml中,设置图片非常简单,只要把图片拷贝到资源目录(这里假 ...
- .NET在后置代码中输入JS提示语句(背景不会变白)
来源:http://niunan.iteye.com/blog/248256 Page.ClientScript.RegisterStartupScript(Page.GetType(), " ...
- 在php中防止SQL注入的方法
摘要:我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们最主要就是要配置php.ini中的内容,让我们执行 php能够更安全.整个PH ...
- Python中防止sql注入的方法详解
SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库.下面这篇文章主要给大家介绍了关于Python中 ...
- 在Centos中导入sql文件的方法
在Centos中导入sql文件的方法 利用mysql -u root -p进入mysql数据库 对于文件的导入,在Centos下里面的是首先要新建一个和文件相同名字的数据库.例如:mysql>c ...
- 关于在Java代码中写Sql语句需要注意的问题
最近做程序,时不时需要自己去手动将sql语句直接写入到Java代码中,写入sql语句时,需要注意几个小问题. 先看我之前写的几句简单的sql语句,自以为没有问题,但是编译直接报错. String st ...
- 转:PHP中防止SQL注入的方法
[一.在服务器端配置] 安全,PHP代码编写是一方面,PHP的配置更是非常关键. 我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们最 ...
- PL/SQL开发中动态SQL的使用方法
一般的PL/SQL程序设计中,在DML和事务控制的语句中可以直接使用SQL,但是DDL语句及系统控制语句却不能在PL/SQL中直接使用,要想实现在PL/SQL中使用DDL语句及系统控制语句,可以通过使 ...
- qt中执行 sql文件的方法
由于qt中没有原生的执行sql文件的方法.因此我们需要根据sql文件中的流的特点,将其分解成一个个语句单独执行. 1.首先通过Qfile读取sql文件 2.将sql文件中的内容通过“:”进行拆解 3. ...
随机推荐
- HashCode equals
HashCode: hashcode就是一个签名.当两个对象的hashcode一样时,两个对象就有可能一样.如果不一样的话两个对象就肯定不一样.一般用hashcode来进行比较两个东西是不是一样的,可 ...
- (转)windows下配置nginx+php环境
原文地址 http://www.cnblogs.com/huayangmeng/archive/2011/06/15/2081337.html 刚看到nginx这个词,我很好奇它的读法(engine ...
- (转)C#操作PPT
原文地址:http://blog.163.com/loveyingchun_1314/blog/static/2382425120124312627530/ 引用Microsoft.Office.Co ...
- Arch-Linux-添加中文字体
代码下载: Arch-Linux-添加中文字体.txt
- php array函数实例应用
array_diff_key() array_diff_assoc() array_count_values() array_combine() array_column() array_chunk( ...
- jQuery基础---filter()和find()
这是jQuery里常用的2个方法.他们2者功能是完全不同的,而初学者往往会被误导. 首先 我们看.find()方法:现在有一个页面,里面HTML代码为;程序代码 <div class=" ...
- html5—— 应用程序缓存
使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本. 什么是应用程序缓存(Application Cache)? HTML5 引入了应用程序缓存,这 ...
- CInternetSession CHttpFile Post提交数据
//给指定url发请求, 返回请求后的结果 string CAutoPatchDlg::SendURLPost(string strServerName, string strFormActionUr ...
- oracle 大字段clob检索
select * from tab_name twhere dbms_lob.instr(t.daziduan, 'aaa', 1, 1) > 0;
- 学习练习 Oracle数据库小题 Students