当前位置:编程学习 > C#/ASP.NET >>

ShareDll:较好用的.Net调用数据微框架

--------------------编程问答--------------------


            //使用说明:这只是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");

--------------------编程问答-------------------- 吹一下:应该是.Net史上最方便数据库调用微框架,其中数据库数据调用方法非常简洁,希望版本能帮助试用一下,另外包含ShareJsonWriter,ShareJsonReader用于支持EXTJS,JQUERY JSON后台的数据生成和解析。

1.集成万能分页;
2.集成一句话导出EXCEL,一句话导入EXCEL;
3.集成多数据高效率获取DataTable数据;
4.支持与System.Data.DataTable进行互转换; --------------------编程问答--------------------
支持一下,开源和文档齐全最好。 --------------------编程问答-------------------- 360还是“最好用的杀毒软件”呢。 --------------------编程问答--------------------
引用 4 楼 caozhy 的回复:
360还是“最好用的杀毒软件”呢。

呵呵,所以要吹啊,版主帮忙看一下提出一下看法,谢谢。 --------------------编程问答-------------------- 可以提供全源码版本给提好建议的朋友。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,