美食网站开发目的,伤豆丁文库网站开发,自己做网站卖东西,什么做网站做个网站一般要多少钱啊说明的说明#xff1a; 博客园团队两次移此文出首页#xff0c;说 这篇文章不属于知识分享型文章#xff0c;并且有广告嫌疑。 本文的确属于分享型文章#xff0c;而且分享的知识点比其它文章都多很多#xff0c;看看网友回复“谢谢分享”就知道是分享型文章了。 所谓广告… 说明的说明 博客园团队两次移此文出首页说 这篇文章不属于知识分享型文章并且有广告嫌疑。 本文的确属于分享型文章而且分享的知识点比其它文章都多很多看看网友回复“谢谢分享”就知道是分享型文章了。 所谓广告嫌疑这东西一被扣上就很难说的清。 本框架从2007年就始发布在博客园一直更新维护到现在其中是有过渡到最新版本是收费但是仍保留开放很多版本的开源的。 但目前发布的都是开源的免费版本再说涉及到收费就是广告ext也有收费版本出现ext相关文章你咋不说是广告 win8,wp8你用的windows都是收费的相关的文章你是不是也要说广告 话也不我说这么久没写文章露脸少了欺负我新人是不 你再欺负我欺负我我。。。。只好沉默了。 前言 好久没写文章了最近习惯了写微博发微博都是140字以内张图片偶尔发一发也偶尔在闪存里闪一闪。 以前天天写博客时闭上眼也能写的很长很长这人长久不写博客时一拖再拖也只能迸出那么点字悲剧的习惯 在开源的这条路上走过了很久很久有一些想法也麻木到没有想法。 每当上园子来看到开源的相关文章我都会尽力的顶上一顶但是总会发现下面的评论是负面声音一片除了留下邮箱才能发源码的那种。 之后的一段时间很少再看到博主会坚持的不怕骂声的继续发布或更新开源文章少但不排除没有。 目前就这种现状各位开源流的博主还是要顶住骂声往前走大帝保佑你们 正文 本次开源 CYQ.Data 数据框架 V4.0 开源版本具体下载地址http://www.cyqdata.com/download/article-detail-426 本人对研究本框架的人士持续提供技术支持技术指导。 学习本框架至少您能学到如何真正做到多对数据库的支持和各种数据库的差异性语法那些说支持多数据库只有接口却等你去实现的都是浮云因为实现过才知道差异性的兼容才是最麻烦的框架的开发者把最麻烦的事留给你却对你说支持多种数据库这是多悲剧的事有能力实现差异性兼容估计你也有能力写出自己的框架了。 这也将成为您往后编写自己的框架的资本研究并掌握底层的框架有助于你成长为高级人士获得更丰富的待遇。 园子里已经有很多同学参考并学习了源码编写出属于自己个性的框架您还等待什么 框架截图 具体的更新记录在源码里就有了这里就不重复的又贴一大堆文字出来了。 这里贴一段开源的代码中的Json操作类代码避免博客园工作人员误操作 internal class JsonHelper { /// summary /// 是否成功 /// /summary public bool Success { get { return count 0; } } private string errorMsg ; /// summary /// 错误提示信息 /// /summary public string ErrorMsg { get { return errorMsg; } set { errorMsg value; } } private int count 0; /// summary /// 总记 /// /summary public int Count { get { return count; } set { count value; } } private Liststring arrData new Liststring(); #region 对象与对象之间分割符 public void addItemOk() { arrData.Add(br); } #endregion #region 在数组里添加key,value public void addItem(string name, string value) { arrData.Add(\ name \: \ value \); } #endregion #region 返回组装好的json字符串 public override string ToString() { StringBuilder sb new StringBuilder(); sb.Append({); sb.Append(\count\:\ count \,); sb.Append(\error\:\ errorMsg \,); sb.Append(\success\:\ (Success ? true : ) \,); sb.Append(\data\:[); int index 0; sb.Append({); if (arrData.Count 0) { sb.Append(}]); } else { foreach (string val in arrData) { index; if (val ! br) { sb.Append(val ,); } else { sb sb.Replace(,, , sb.Length - 1, 1); sb.Append(},); if (index arrData.Count) { sb.Append({); } } } sb sb.Replace(,, , sb.Length - 1, 1); sb.Append(]); } sb.Append(}); return sb.ToString(); } #endregion #region 为DataTable增加处理 public void Fill(MDataTable table) { if (table null) { ErrorMsg 查询对象为Null; return; } Count table.Rows.Count; for (int i 0; i table.Rows.Count; i) { for (int j 0; j table.Columns.Count; j) { addItem(table.Columns[j].ColumnName, Convert.ToString(table.Rows[i][j].Value)); } addItemOk(); } } public MDataTable Load(string json) { MDataTable table new MDataTable(loadFromJson); if (!string.IsNullOrEmpty(json) json.Length 30 json.StartsWith({) json.IndexOf(,) -1 json.EndsWith(})) { try { int startjson.IndexOf(:[{) 2; string data json.Substring(start, json.LastIndexOf(]}) - start); data data.Replace(\\}, #100#).Replace(\\,, #101#).Replace(\\:,, #102#); bool isOKfalse; if (!string.IsNullOrEmpty(data)) { string[] items data.Replace({,string.Empty).Split(});//分隔每一行 string item string.Empty, key string.Empty, value string.Empty; for (int i 0; i items.Length; i)//循环每一行数据 { item items[i].Replace(#100#, \\}).Trim(,); if (string.IsNullOrEmpty(item)) { continue; } string[] keyValues item.Split(,); string keyValue string.Empty; if (i 0) { for (int j 0; j keyValues.Length; j) { keyValue keyValues[j].Replace(#101#, \\,); key keyValue.Split(:)[0].Trim(\, \); table.Columns.Add(key, SqlDbType.NVarChar); } isOKtrue; } if (isOK) { MDataRow row table.NewRow(); for (int k 0; k keyValues.Length; k) { keyValue keyValues[k].Replace(#101#, \\,); if (keyValue.IndexOf(:) -1) { value keyValue.Substring(keyValue.IndexOf(:)1).Replace(#102#, \\:).Trim(\, \); row[k].Value value; } } table.Rows.Add(row); } } } } catch { return table; } } return table; } #endregion } 本版本为秋色园V2.0和V2.5对应的框架版本为了促进国内ASP.NET开源博客更进一步和谐近期将跳过2.0版本开源秋色园V2.5多用户版本。 秋色园系列原理文章网上都很多了想学习的同学就不要错过了http://www.cnblogs.com/cyq1162/archive/2010/12/14/1905776.html 这里也有51cto大赛的参赛页面感谢路过的朋友也顺手扔一票http://blog.51cto.com/contest2012/2127378 版权声明本文原创发表于博客园作者为路过秋天原文链接 http://www.cnblogs.com/cyq1162/archive/2012/10/31/2747976.html