ShareDll:较好用的.Net调用数据微框架
--------------------编程问答----------------------------------------编程问答-------------------- 吹一下:应该是.Net史上最方便数据库调用微框架,其中数据库数据调用方法非常简洁,希望版本能帮助试用一下,另外包含ShareJsonWriter,ShareJsonReader用于支持EXTJS,JQUERY JSON后台的数据生成和解析。
//使用说明:这只是ShareDll库少部分示例与功能使用方法(更多请自行发掘),请将库引用在你自己的项目或引用ShareDll.DLL这个文件+添加命名空间using ShareDll就可以了;
//1.String 转换为Int类型 必须引用命名空间using ShareDll(代码在Share中);
string sText = "12345";
int iValue = sText.ToInt();//将A转换为Int类型
bool bValue = sText.ToBool();//将A转换为Bool类型
string sTimeText = "2012-01-01 10:10:10";
Time dTime = sTimeText.ToTime();//将string转换为DateTime类型 ,也可以直接用Time dTime = sText;
if (dTime.IsNot)//或dTime == null(不推荐null法判断,原因之一是string等判断方便也是IsHas,IsNot为了通用,原因之一是dTime == null中的null是返回Time.Null再判断效率稍微影响)
{
Share.Alert("IsNot方式判断:时间格式不正确" + sText + "!");
}
if(dTime == null)
Share.Alert("Null方式判断:时间格式不正确" + sText + "!");
//2.获取QueryString值 Page.Request.QueryString("ID");
int iCmdID = Share.GetQueryInt("CmdID");//类不抛出错误,=Int32.TryParse(Request.QueryString("CmdID"))
//4.获取数据库中表的当个值
string sUserName = ShareDB.GetCellStr(null, "select UserName from Users where UserID=1");
//4.获取数据库中表的值,使用SQL安全变量方式,采用安全变量方式优点是可以防止注入攻击,并且可以存入任意的文本数据;
//GetFieldStr后面变量可以添加任意个Parm
string sUserPassword = ShareDB.GetCellStr("ConnDef", "select UserPass from Users where UserName=@UserName", new ParmStr("@UserName", "admin"));
//5,获取DataTable 同样也可以添加变量 即使用 new ParmXXX,带数据调试监视器(调试时指向并且点击放大镜即可以查看)
ShareDB.DataTable dt = new ShareDB.DataTable(null, "select * from Users");//null="ConnDef" 即默认为 "ConnDef"连接字符串
int iColUserState = dt.AddCol("UserState", typeof(string));//配合dt.SetValue可以取替在Repeater中ItemBound事件中处理数据,预先处理更高效且容易立刻
int iColUserID = dt.GetOrdinal("UserID");//可以获取Col索引而不是在遍历中使用ColName方式可以提高效率
for (int i = 0, iRowCount = dt.RowCount; i < iRowCount; i++)
{
dt.SetPos(i);
dt.SetValue(iColUserState, dt.GetInt(iColUserID) >= 20 ? "ID大于20" : "ID小于20");//如果执行过程出错请点击放大镜查看调试器查看DataTable中的数据(尤其先确认查询结果中是否有当前查找的列)
string sName = dt.GetStr("UserName");
}
int iAddRow=dt.AddRow();
dt.SetPos(iAddRow);
dt.SetValue("UserID", dt.SumCol(iColUserID, 0, dt.RowCount-1));
dt.SetValue("UserName", "统计行");
dt.SetValue("AddTime", DateTime.Now);
//将ShareDB.DataTable转换为系统的System.Data.DataTable:用于操作各种ShareDB.DataTable不支持的功能,未编写的功能
System.Data.DataTable SystemTable = (System.Data.DataTable)dt;
//将System.Data.DataTable转换为系统的ShareDB.DataTable:用于更方便操控数据,为了更简洁易用的操作功能
ShareDB.DataTable dtTable = SystemTable;
//6.获取My SQL 中表的值 因为使用的是优化过的数据工厂模式,所以可以支持多种数据库并且高效率,无论Access(System.Data.OleDb标识连接字符串)还是Oracle(System.Data.OracleClient)
//RetGridView.DataSource = new ShareDB.DataTable("ConnMySQLOA", "select * from UserTable");//必须有MySQLDriverCS.dll
//RetGridView.DataBind();
RetRepeater.DataSource = dt;//=new ShareDB.DataTable(null,"select * from Users");
RetRepeater.DataBind();
//7.获取行数据(或也可以使用GetRow函数)
ShareDB.DataRow dr = new ShareDB.DataRow("0:server=.;uid=sa;pwd=sa;Trusted_Connection=no;database=ShareDll", "select top 1 * from Users where UserType=@UserType", new ParmInt("@UserType", 1));
dr.PageBind();
//lbUserID.Text = dr.GetStr("UserID");
//lbUserName.Text = dr.GetStr("UserName");
1.集成万能分页;
2.集成一句话导出EXCEL,一句话导入EXCEL;
3.集成多数据高效率获取DataTable数据;
4.支持与System.Data.DataTable进行互转换; --------------------编程问答--------------------
支持一下,开源和文档齐全最好。 --------------------编程问答-------------------- 360还是“最好用的杀毒软件”呢。 --------------------编程问答--------------------
呵呵,所以要吹啊,版主帮忙看一下提出一下看法,谢谢。 --------------------编程问答-------------------- 可以提供全源码版本给提好建议的朋友。
补充:.NET技术 , ASP.NET