ASP.NET中WEB.config连接网络服务器SQL 2005数据库,代码怎么写?

ASP.NET中WEB.config连接网络服务器SQL 2005数据库,代码怎么写?,第1张

ASP.NET程序中的web.config中的连接字符串为: <add name="Conn" connectionString="server=.uid=sapwd=seeyondatabase=Dsystem" />,name是指的在程序写好的链接数据库的方法名,connectionString中就是我们与数据库连接配置参数:server表示数据库服务器的名字和IP地址,uid是指数据库的用户名,pwd是数据库登录密码,database是指数据库的名字。

ASP.NET程序与sql server 2005数据库连接不单是需要在配置文件中配置好数据库名、用户名、密码、IP地址。还需要在程序中也要写好与数据库的连接方法,然后在web.config中来调用才能正常连接,这样程序在使用过程中才不会报与数据库连接错误。

1、ASP.NET程序与sql server 2005数据库连接方法代码:(注:与数据库连接的方法有很多,但是都是大同小异)

using System

using System.Collections.Generic

using System.Text

using System.Data

using System.Configuration

using System.Data.SqlClient

using System.Data.OleDb

using System.Data.Sql

namespace DLL

{

    public class DBHelper

    {

        public static string conn = ConfigurationManager.ConnectionStrings["Conn"].ToString()

        //public static string conn =ConfigurationManager.AppSettings["SqlConnString"].ToString()

        static SqlConnection con = null

        /// <summary>

        /// 判断数据库连接状态

        /// </summary>

        /// <returns></returns>

        public static SqlConnection getConnection()

        {

            try

            {

                if (con == null)

                {

                    con = new SqlConnection(conn)

                }

                if (con.State == ConnectionState.Broken)

                {

                    con.Close()

                    con.Open()

                }

                if (con.State == ConnectionState.Closed)

                {

                    con.Open()

                }

                

            }

            catch (Exception ex)

            {

                

                throw ex

            }

            return con

        }

        public static SqlCommand NewMethod(string sql, SqlParameter[] par)

        {

            SqlCommand com = new SqlCommand(sql, getConnection())

            if (par != null)

            {

                foreach (SqlParameter parameter in par)

                {

                    if (parameter.Value == null)

                    {

                        parameter.Value = DBNull.Value

                    }

                    com.Parameters.Add(parameter)

                    

                }

                

            }

            return com

        }

        public static DataSet Dataset(string sql, SqlParameter[] par, string tableName)

        {

            DataSet set = new DataSet()

            SqlCommand comm = NewMethod(sql,par)

            if(tableName==null || tableName=="")

            {

                tableName = "tableName"

            }

            SqlDataAdapter dapter = new SqlDataAdapter(sql, getConnection())

            dapter.Fill(set,tableName)

            return set

        }

        public static DataTable Table(string sql, SqlParameter[] par, string tableName)

        {

            DataTable table = new DataTable()

            try

            {

                table = Dataset(sql, par, tableName).Tables[0]

                return table

            }

            catch (Exception ex)

            {

                

                throw ex

            }

            

        }

        public static SqlDataReader Reader(string sql,SqlParameter[] par)

        {

            SqlDataReader red = null

            SqlCommand comm = NewMethod(sql,par)

            try

            {

                red = comm.ExecuteReader()

            }

            catch (Exception ex)

            {

                red.Close()

                con.Close()

                throw ex

            }

            return red

        }

        public static int Execut(string sql, SqlParameter[] par)

        {

            int num = 0

            SqlCommand com = NewMethod(sql, par)

            try

            {

                num = com.ExecuteNonQuery()

            }

            catch (Exception ex)

            {

                num = 0

            }

            con.Close()

            return num

        }

      

    }

    

}

2、web.config配置文件的连接代码为:

<?xml version="1.0" encoding="UTF-8"?>

<!-- 

    注意: 除了手动编辑此文件外,您还可以使用 

    Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的

    “网站”->“Asp.Net 配置”选项。

    设置和注释的完整列表可以在

    machine.config.comments 中找到,该文件通常位于

      \Windows\Microsoft.Net\Framework\vx.x\Config 中 

-->

<configuration>

 <appSettings>

  </appSettings>

  <!-- 数据库连接字符串-->

  <connectionStrings>

    <add name="Conn" connectionString="server=.uid=sapwd=seeyondatabase=Dsystem" />

  </connectionStrings>

 <system.web>

  <!--

            设置 compilation debug="true" 可将调试符号

            插入已编译的页面中。

            但由于这会影响性能,因此请仅在开发过程中将此值

            设置为 true。

        -->

  <compilation debug="true">

  </compilation>

  <!--

          通过 <authentication> 节可以配置

          安全身份验证模式,ASP.NET 

          使用该模式来识别来访用户身份。 

        -->

  <authentication mode="Windows" />

  <!--

           如果在执行请求的过程中出现未处理的错误,

           则通过 <customErrors> 节

           可以配置相应的处理步骤。具体而言,

           开发人员通过该节可配置要显示的 html 错误页,

           以代替错误堆栈跟踪。

           <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">

             <error statusCode="403" redirect="NoAccess.htm" />

             <error statusCode="404" redirect="FileNotFound.htm" />

           </customErrors>

        -->

 </system.web>

    <system.webServer>

        <defaultDocument>

            <files>

                <add value="Login.aspx" />

            </files>

        </defaultDocument>

    </system.webServer>

</configuration>

$link = mysql_connect('location','root','root') or die("连接失败!")

mysql_select_db('database') or die("连接失败!")

$sql = "select * from table"

$result = mysql_query($sql)

ACCESS数据库是个文件来的,不用配置的了,在解决方案中添加你创建的ACCESS数据文件中,系统会提示你是否创建App_Data目录并将ACCESS文件添加到此目录中,选择"是"就可以了,再在程序中创建连接到此文件的连接字符串即可.(此文后面有在web.config中配置的方法)例如

String con = "PROVIDER=Microsoft.Jet.OLEDB.4.0DATA Source=" + System.Web.HttpContext.Current.Server.MapPath("App_Data/YouAccessData.mdb")

然后就像用其它数据库一样用了.

完全示例:

C#连接Access程序代码:

usingSystem.Data

usingSystem.Data.OleDbstringstrConnection="Provider=Microsoft.Jet.OleDb.4.0"

strConnection+=@"DataSource=C:\ASPNET\YouAccessData.mdb"

OleDbConnectionobjConnection=newOleDbConnection(strConnection)

//或

//stringstrConnection = "PROVIDER=Microsoft.Jet.OLEDB.4.0DATA Source=" + System.Web.HttpContext.Current.Server.MapPath("App_Data/YouAccessData.mdb")

objConnection.Open()

objConnection.Close()

解释:

C#连接Access数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的。

strConnection这个变量里存放的是连接数据库所需要的连接字符串,指定了要使用的数据提供者和要使用的数据源。

“Provider=Microsoft.Jet.OleDb.4.0”是指数据提供者,这里使用的是Microsoft Jet引擎,也就是Access中的数据引擎,asp.net就是靠这个和Access的数据库连接的。

“Data Source=C:\BegASPNET\Northwind.mdb”是指明数据源的位置,他的标准形式是“Data Source=MyDrive:MyPath\MyFile.MDB”。

PS:

1.“+=”后面的“@”符号是防止将后面字符串中的“\”解析为转义字符。

2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接:

strConnection+="Data Source="strConnection+=MapPath("Northwind.mdb")

3.要注意连接字符串中的参数之间要用分号来分隔。

“OleDbConnection objConnection=new OleDbConnection(strConnection)”这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的 *** 作我们都要和这个对象打交道。

“objConnection.Open()”这用来打开连接。至此,与Access数据库的连接完成。

再来一个示例:

using System.Data.OleDb

using System.Data

//连接指定的Access数据库

String ConnString =@"Provider=Microsoft.Jet.OLEDB.4.0Data Source=App_Data\YouAccessData.mdb"

//SQL语句

String SQLString ="select * from TestDB"

//创建一个OleDbConnection对象

System.Data.OleDb.OleDbConnection OleDBConn1 = new System.Data.OleDb.OleDbConnection(ConnString)

//创建一个DataSet对象

DataSet DataSet1 = new DataSet()

//创建一个OleDbDataAdapter对象

System.Data.OleDb.OleDbDataAdapter OleDbDataAdapter1 = new System.Data.OleDb.OleDbDataAdapter(SQLString,OleDBConn1)

//打开连接

OleDBConn1.Open()

//通过OleDbDataAdapter对象填充数据集

OleDbDataAdapter1。Fill(DataSet1,"TT")

另外是在web.config中如何使用access数据库连接了,估计就是所要的了:

一: 一种是通过使用 DataDirectory 目录的方法,但是 access 文件必须放在 ASP.NET 的特殊目录中,如 app_data ;

<addname="access"connectionString="Provider=Microsoft.Jet.Oledb.4.0

Data Source=|DataDirectory|db.mdb"/>

二:另外一种方法则比较灵活,具体方法是:在 web.config 文件中保存两个字符串,一个是驱动字符串,另一个是 access 文件的相对路径;

使用时用 Server.MapPath 来获取绝对路径然后组合出来的连接字符串就可以使用了;

在web.config中的写法如下:

<appSettings>

<add key="ConnStr" value="provider=microsoft.jet.oledb.4.0data source="/>

<add key="dbPath" value="/AppData/db.mdb"/>

</appSettings>

程序中的数据访问类中我把"ConnStr"和"dbPath"取出来再连接成一个字符串

代码如下:

/// <summary>

/// (静态)返回数据库连接串。

/// </summary>

protected static string GetConnString()

{

return

System.Configuration.ConfigurationSettings.AppSettings["ConnStr"]+ System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationSettings.AppSettings["dbPath"])+""

}

三:直接写数据库的物理路径

<connectionStrings>

<add name="qxConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0Data Source=D:\Inetpub\wwwroot\web\App_Data\db.mdb"

providerName="System.Data.OleDb" />

</connectionStrings>

注意:Data Source字符的写法一定要正确,否则可能会出现“找不到可安装的ISAM”的错误。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11725791.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存