ASP.NET中各种连接数据库的配置的方法及json数据转换

一、数据库连接语句

1、MSSQL数据库链接示例

 <connectionStrings>
 <add name="Conn" connectionString="server=.;database=demo;uid=sa;pwd=123456" providerName="System.Data.SqlClient"/>
 </connectionStrings> 

2、Access 2003数据库链接示例:"{0}"代表根目录

 <connectionStrings>
 <add name="Conn" connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}App_Data/demo.mdb" providerName="System.Data.OleDb"/>
 </connectionStrings>

Access 2007或以上版本的链接

 <connectionStrings>
 <add name="Conn" connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}App_Data/demo.mdb" providerName="System.Data.OleDb"/>
 </connectionStrings>

3、Oracle 数据库链接示例

 <connectionStrings>
 <add name="Conn" connectionString="Provider=MSDAORA;Data Source=demo;User ID=sa;Password=123456;" providerName="System.Data.OracleClient"/>
 </connectionStrings> 

4、SQLite 数据库链接示例

 <connectionStrings>
 <add name="Conn" connectionString="Data Source={0}App_Data/demo.db;failifmissing=false" providerName="System.Data.SQLite"/>
 </connectionStrings> 

5:MySQL数据库链接示例

 <connectionStrings>
 <add name="Conn" connectionString="host=127.0.0.1;Port=3306;Database=mysql;uid=sa;pwd=12346" providerName="MySql.Data.MySqlClient"/>
 </connectionStrings> 

二、json数据转换

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Web;
using System.Web.Script.Serialization;

namespace Role.DAL
{
 public class Json
 {
  public Json() { }

  /// <summary>
  ///将datatable数据转换成JSON数据, 字符串拼接写成的
  /// </summary>
  /// <param name="jsonName">json名称。没发现什么作用</param>
  /// <param name="dt">得到的数据表</param>
  /// <returns></returns>
  public string DataTableToJson(string jsonName, DataTable dt)
  {
   StringBuilder Json = new StringBuilder();
   Json.Append("[");
   if (dt.Rows.Count > 0)
   {
    for (int i = 0; i < dt.Rows.Count; i++)
    {
     Json.Append("{");
     for (int j = 0; j < dt.Columns.Count; j++)
     {
      Json.Append(dt.Columns[j].ColumnName.ToString() + ":\"" + dt.Rows[i][j].ToString() + "\"");
      if (j < dt.Columns.Count - 1)
      {
       Json.Append(",");
      }
     }
     Json.Append("}");
     if (i < dt.Rows.Count - 1)
     {
      Json.Append(",");
     }
    }
   }
   Json.Append("]");
   return Json.ToString();
  }

  /// <summary>
  /// 列表数据转换到json数据;字符串拼接写成的,太难
  /// </summary>
  /// <typeparam name="T"></typeparam>
  /// <param name="jsonName">json名称。没发现什么作用</param>
  /// <param name="IL"></param>
  /// <returns></returns>
  public string ObjectToJson<T>(string jsonName, IList<T> IL)
  {
   StringBuilder Json = new StringBuilder();
   Json.Append("[");
   if (IL.Count > 0)
   {
    for (int i = 0; i < IL.Count; i++)
    {
     T obj = Activator.CreateInstance<T>();
     Type type = obj.GetType();
     PropertyInfo[] pis = type.GetProperties();
     Json.Append("{");
     for (int j = 0; j < pis.Length; j++)
     {
      Json.Append(pis[j].Name.ToString() + ":\"" + pis[j].GetValue(IL[i], null) + "\"");
      if (j < pis.Length - 1)
      {
       Json.Append(",");
      }
     }
     Json.Append("}");
     if (i < IL.Count - 1)
     {
      Json.Append(",");
     }
    }
   }
   Json.Append("]");
   return Json.ToString();
  }

  /// <summary>
  /// 将DataTable转化为自定义JSON数据
  /// </summary>
  /// <param name="dt">数据表</param>
  /// <returns>JSON字符串</returns>
  public static string DataTableToJson(DataTable dt)
  {
   StringBuilder JsonString = new StringBuilder();
   if (dt != null && dt.Rows.Count > 0)
   {
    List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
    for (int i = 0; i < dt.Rows.Count; i++)
    {
     Dictionary<string, string> dict = new Dictionary<string, string>();
     for (int j = 0; j < dt.Columns.Count; j++)
     {
      dict.Add(dt.Columns[j].ColumnName, dt.Rows[i][j].ToString());
     }
     list.Add(dict);
    }
    JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
    return jsonSerializer.Serialize(list);
   }
   else
   {
    return "{}";
   }
  }

  /// <summary>
  /// 将datatable转换为json
  /// </summary>
  /// <param name="dtb">Dt</param>
  /// <returns>JSON字符串</returns>
  public static string Dtb2Json(DataTable dtb)
  {
   JavaScriptSerializer jss = new JavaScriptSerializer();
   System.Collections.ArrayList dic = new System.Collections.ArrayList();
   if (dtb != null && dtb.Rows.Count > 0)
   {
    foreach (DataRow dr in dtb.Rows)
    {
     System.Collections.Generic.Dictionary<string, object> drow = new System.Collections.Generic.Dictionary<string, object>();
     foreach (DataColumn dc in dtb.Columns)
     {
      drow.Add(dc.ColumnName, dr[dc.ColumnName]);
     }
     dic.Add(drow);
    }
    //序列化
    return jss.Serialize(dic);
   }
   else
   {
    return "{}";
   }
  }

 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • ASP.NET web.config中数据库连接字符串connectionStrings节的配置方法

    在ASP.NET开发的网站根目录,有一个名为web.config的文件,顾名思义,这是为整个网站进行配置的文件,其格式为XML格式.这里主要谈谈文件中的<connectionStrings>节. <connectionStrings>节是对连接到数据库的字符串进行配置,由于MS SQL Server与ASP.NET同属于微软的产品,因此是使用ASP.NET开发时首选的数据库是MS SQL Server,本文只讨论对MS SQL Server的连接字符串情况.第一种情况,本地开发时,

  • 在ASP.NET 2.0中操作数据之七十:配置数据库连接和命令等级设置

    导言: 在本系列我们用类型化的DataSets来构建数据访问层.就像在第一章探讨的那样,类型化DataSets的DataTables用作存储数据的"仓库",而TableAdapters作为连接数据库的通道,以检索.修改数据.TableAdapters 将处理数据库的很多复杂的细节进行了封装,将我们解脱出来,免去了写代码连接数据库.发出命名.向DataTable填充数据的痛苦. 不过在某些时候我们需要深入的探究TableAdapter,直接写代码处理ADO.NET对象.在第61章<

  • ASP.NET中操作SQL数据库(连接字符串的配置及获取)

    在WebConfig中配置数据库连接字符串,代码如下: 复制代码 代码如下: <connectionStrings> <add name="ConnectionString" connectionString="user id=用户名;password=密码;initial catalog=数据库名称;data source=服务器名称"/> </connectionStrings> 然后在Webform_1.aspx.cs里面获

  • ASP.NET中各种连接数据库的配置的方法及json数据转换

    一.数据库连接语句 1.MSSQL数据库链接示例 <connectionStrings> <add name="Conn" connectionString="server=.;database=demo;uid=sa;pwd=123456" providerName="System.Data.SqlClient"/> </connectionStrings> 2.Access 2003数据库链接示例:&quo

  • asp.net中IDataParameter调用存储过程的实现方法

    本文实例讲述了asp.net中IDataParameter调用存储过程的实现方法,是asp.net数据库程序设计中非常实用的技巧.分享给大家供大家参考. 具体实现方法如下: public string GenerateExamePaper(string paperType, string driverID, string MacAddr) { int i; IDataParameter[] iData = new SqlParameter[4]; iData[0] = new SqlParame

  • asp.net中使用cookie传递参数的方法

    本文实例讲述了asp.net中使用cookie传递参数的方法.分享给大家供大家参考.具体如下: //传值 HttpCookie cookie = new HttpCookie("mycookie"); cookie.Value = "cookie值"; Response.AppendCookie(cookie); Response.Redirect("index.aspx"); //接收 Request.Cookies["mycooki

  • 在asp.net中获取当前页面的URL的方法(推荐)

    获取Url的方法有两种,通过后台获得或通过前面js获得,如下: 1.通过C#获取当前页面的URL string url = Request.Url.AbsoluteUri; //结果: http://www.jb51.net/web/index.aspx string host = Request.Url.Host; //结果:www.jb51.net string rawUrl = Request.RawUrl; //结果:/web/index.aspx string localPath =

  • asp.net中Table生成Excel表格的方法

    本文实例讲述了asp.net中Table生成Excel表格的方法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/19

  • asp.net中c#自定义事件的实现方法详解

    本文实例讲述了asp.net中c#自定义事件的实现方法.分享给大家供大家参考.具体分析如下: c#自定义事件分为六步,声明关于事件的委托,声明事件,编写引发事件的函数,事件处理,这里我们就来具体的介绍一下. C#自定义事件的具体实现步骤如下: 1.声明一个delegate: (用于事件的类型的定义) 如: 复制代码 代码如下: public delegate void 事件名称EventHandler(object serder, EventArgs e); 事件名称用你的自己的来代替,随后的E

  • Android开发中Launcher3常见默认配置修改方法总结

    本文实例讲述了Android开发中Launcher3常见默认配置修改方法.分享给大家供大家参考,具体如下: Launcher概述 Launcher是开机完成后第一个启动的应用,用来展示应用列表和快捷方式.小部件等.Launcher作为第一个(开机后第一个启动的应用)展示给用户的应用程序,其设计的好坏影响到用户的体验,甚至影响用户购机的判断.所以很多品牌厂商都会不遗余力的对Launcher进行深度定制,如小米的MIUI.华为的EMUI等.Android默认的Launcher没有过多的定制,更加简洁

  • ASP.NET中常用的优化性能的方法

    1. 数据库访问性能优化   数据库的连接和关闭  访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源.ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响.系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接请求.  连接池的大小是有限的,如果在连接池达到最大限度后仍要求创建连接,必然大大影响性能.因此,在建立数据库连接后只有在真正需要操作时才打开连接,

  • ASP.NET中URL Rewrite的具体实现方法

    之前觉得这个话题已经被谈滥了.URL Rewrite早已经被广大开发人员所接受,网上关于URL Rewrite的组件和文章也层出不穷,但是总是让我感觉意犹未尽,于是最终还是忍不住提笔写了这系列文章.这些文章不会谈论URL Rewrite的价值与意义,而只会谈论纯技术的内容.文章中也不会有详尽地实现分析,而是结合了我的经验,从应用角度来讲解这个话题.您已经知道的,您还不知道的,别处已经讲过的,或者还没有讲过的,希望这系列文章的"旧事重提"不会让您觉得沉闷,并且能让您了解ASP.NET中U

  • ASP.NET中验证控件的使用方法

    对于这些常用的控件有效性验证,在Asp.Net中有单独的验证控件可供使用.他们可以满足一般的,诸如非空,范围.比较等的验证,为用户登录页面添加输入数据验证功能和验证码功能. 验证控件: Asp.Net中内置的验证控件有:RequiredFieldValidation.RangeValidation.RegularExpressValidation.CompareValidation.CustomValidation和ValidationSummary等六种.其中用户自定义验证控件,由于并不非常常

随机推荐