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. ...
随机推荐
- 9. Palindrome Number
/* Determine whether an integer is a palindrome. Do this without extra space. click to show spoilers ...
- Unity小厨房之-----背后视角摄像机
相信每一个接触过Unity的人,应该都认识Unity引擎自带的那个水管工,也一定知道那个小人模型上挂着3个脚本控制着小人的一切,今天我就来说一下关于Unity背后视角摄像机的实现,当然方法并不唯一,这 ...
- 十步让 WebForm项目 变为 Mvc项目
1.创建一个项目名为 App_Asp 的 Asp.NET 空 Web 应用程序2.添加全局应用程序类 Global.asax3.富文本打开 Global,修改 Inherits 为 App_Asp_G ...
- Knockout
<button id="load">Load</button><ul data-bind="template: { foreach: ven ...
- Mplayer 官方中文手册
MPlayer 名称总览描述交互式控制用法配置文件配置集通用选项播放器选项(仅适用于MPLAYER)分离器/媒体流选项OSD/字幕选项音频输出选项(仅适用于MPLAYER)音频输出驱动(仅适用于MPL ...
- 【Unity Shaders】学习笔记——SurfaceShader(一)认识结构
[Unity Shaders]学习笔记——SurfaceShader(一)认识结构 转载请注明出处:http://www.cnblogs.com/-867259206/p/5595747.html 写 ...
- 洛谷P1930 亚瑟王的宫殿 Camelot
P1930 亚瑟王的宫殿 Camelot 19通过 53提交 题目提供者JOHNKRAM 标签USACO 难度提高+/省选- 提交 讨论 题解 最新讨论 暂时没有讨论 题目描述 很久以前,亚瑟王和 ...
- sql server分页
表结构 CREATE TABLE v_home ( vid int IDENTITY(1,1) not null,-- AUTO_INCREMENT, chapter varchar(20) not ...
- PAT1099
/*innner order traverse for BST will be ordered *1.sort the value in buffer *2.inner traverse the BS ...
- boost::asio 使用实例
#include <iostream> #include <boost/asio.hpp> using namespace std; using namespace boost ...