`

C#连接sql server 2008的一件2事

阅读更多

once upon a time, i came upon one thing that my c# program cannot access its specified database which sql server 2008. i dont know why, at my point of view, the program works well for sql server 2000, now it doesn't work for 2008, it's mainly supposed to be the cause of the new database, maybe they have different connection ways. At the thought of this, i began to search a lot about how to connect to 2008, with a result you can imagine, all failed. my class design is like the follows:

 

public class Service : System.Web.Services.WebService

{

    private static string connectionString = "";

    [WebMethod]
    public string WebserviceCrud(string strxml)

    {

        //connectionString = "SERVER=" + databaseip + "," + databaseport + ";DATABASE=" + databasename + ";Uid=" + userid + ";pwd=" + password;
        //connectionString = "Data Source=" + databaseds + "," + databaseport + ";Initial Catalog=" + databasename + ";Persist Security Info=True;User Id=" + userid + ";Password=" + password + ";";
        connectionString = "data source=" + databaseds + ";initial catalog=" + databasename + ";user id=" + userid + ";password=" + password + ";";

        return InvokeMethod(methodname, mParam);

    }


    public string InvokeMethod(string methodname, object[] mParam)
    {
        // Create MyClass object
        Service myClassObj = new Service();
        // Get the Type information.
        Type myTypeObj = myClassObj.GetType();
        // Get Method Information.
        MethodInfo myMethodInfo = myTypeObj.GetMethod(methodname);

        return (string)myMethodInfo.Invoke(myClassObj, mParam);
    }

    public string RequestUserQuery(string parameters)
    {
        string username = xmlhandle.GetNodeContent(parameters, "/Params/UserId");

        string commandText = "SELECT STAFF_ID as StaffId, isnull(STAFF_NAME, 'null') as StaffName, isnull(JOB, 'null') as Job, DEPT_NO as DeptNo FROM WHS_STAFF WHERE LOGIN_USERNAME = '" + username +"'";
        DataSet ds = OnlineShop.Database.SqlHelper.ExecuteDataset(connectionString, CommandType.Text, commandText);

        string xml = ds.GetXml();

        xml = xml.Replace("<NewDataSet>", "<Results>");
        xml = xml.Replace("</NewDataSet>", "</Results>");
        xml = xml.Replace("<Table>", "");
        xml = xml.Replace("</Table>", "");

        return GenerateResponseXml("ResponseUserQuery", xml);
    }

}
 

as you see, the connectionString's not static at the first place, so with every call of webmethod, it creates every new object, thus every new member field connectionString, even though i've changed its value, it's just acts as if it didn't change at all, it holds the original value from its declaration.

 

why can't i find this error? i concluded it's all from mindset . as i dont think the other part may have errors. as it just has been working fine before, cause i forgot the truth i ever modifed it the day before but i didn't check it through. it's really a lesson which deserves to be tight remembered.

 

分享到:
评论

相关推荐

    ASP.NET 2.0+SQL Server 2005全程指南-源代码

    ASP.NET 2.0+SQL Server 2005全程指南 目录 基础篇 第1章 ASP.NET概述及环境配置 1.1 认识ASRNET 1.1.1 .NET Framework框架 1.1.2 ASP.NET功能与特性 1.1.3 ASP.NET与ASP的区别 1.2 搭建ASP.NET开发环境 1.2.1...

    Visual C# 2008程序设计经典案例设计与实现

    案例12 连接SQL Server数据库 本章小结 第5章 Visual C#2008的SQL查询与图表技朮 案例1 多表连接条件查询 案例2 分组条件查询 案例3 排序查询 案例4 嵌套查询 案例5 视图在Select查询语句中的应用 案例6 ...

    将数据库从sql server 2005转换为postgresSQL

    将数据从SQL Server传输到Postgres的一种方法是在数据库之间建立链接服务器,然后... 有关更多信息,请参见:http://msdn.microsoft.com/zh-cn/library/ms188279.aspx[^]另一件事是SQL Server 2008 Express具有大小...

    ShpToSqlServer:用于将ESRI shapefile导入到MS SQL Server的工具

    我想指出一件事。 如果不确定使用哪个编码代码页,请检查此并查找它。 代码页默认值为65001,这是UTF-8编码的代码页。 如果您对改进该工具有任何建议,或者发现错误或其他问题,请发表评论,我们将很高兴对其进行...

    C#编程经验技巧宝典

    C#编程经验技巧宝典源代码,目录如下: 第1章 开发环境 1 &lt;br&gt;1.1 Visual Studio开发环境安装与配置 2 &lt;br&gt;0001 安装Visual Studio 2005开发环境须知 2 &lt;br&gt;0002 配置合适的Visual Studio 2005...

    明日科技C#开发入门及项目实战

    实例127 使用odbc dsn连接sql server数据库 实例128 使用ado.net对象录入数据 实例129 利用存储过程录入数据 实例130 使用oledbdatareader读取文本文件的内容 实例131 使用sqldatareader读取用户登录信息 实例132 ...

    Visual C#2010 从入门到精通(Visual.C#.2010.Step.By.Step).完整去密码锁定版 I部分

    书中沿袭深受读者欢迎的step by step风格,通过丰富的练习引导读者逐步构建windows应用程序,访问sql server数据库,开发asp.net web应用程序,创建并使用web服务等。  全书共29章,结构清晰,叙述清楚。所有练习均...

    HA租房网(三层+MVC4)管理系统源码 HAMVCZuFangMS.rar

    2、开发环境为Visual Studio 2012,数据库为SQL Server 2008R2,数据库文件在DB文 件夹(并且附有sql2008脚本文件)中,使用.net 4.5开发。 3、默认数据库连接字符串在webconfig配置文件中修改。 4、该源码比较适合...

    MF00105-自定义表单.zip

    持sqlserver,oracle等多种数据,开放API接口,可以通过开发API直接集成到现有的办公系统中。 1、将下载包中的fcbill.rar解压出来,将其中的fcbill目录在C:Inetpubwwwroot目录下  (假如你的IIS装在C:下),即C:...

    C#处理Access中事务的方法

    所谓事务,就是把多件事情当做一件事情来处理。也就是大家同在一条船上! 由一个事务来完成多个表的同步操作,要么都执行成功,要么都不成功.下面举个例子,用C#实现Access数据库事务的处理方法: 向一个表提交数据...

    基于C#的数据库表结构报表系统的设计与实现

    为克服现有方法存在的不足,在Visual Studio 2010环境下,基于C#编程语言,开发了一个针对SQL Server数据库表结构的报表生成系统。该系统支持单表导出和批量导出两种工作模式,支持将表结构导出到Word和Excel两种...

    c#汽配厂维修系统源码

    该源码系统为某汽车维修厂维修系统 二、功能介绍 主要功能为维修单据的录入、查询,以及会员卡管理、多种结账方式 并结合RDLC进行结账单打印。... 1、开发环境为Visual Studio 2008,数据库为SQL Server 2005

    asp.net图书管理系统带文档

    在系统设计过程中,我体会到了即使是一件小事也不能马虎,在设计之前一定要对所设计的系统有较为深刻地了解,并对用户的要求加以认真的分析,并给予分类,对所分类进行功能模块化设计,画出系统数据流图,流程图和结构图....

    ASP.NET书籍借阅管理(图书管理)系统带开发文档

    在系统设计过程中,我体会到了即使是一件小事也不能马虎,在设计之前一定要对所设计的系统有较为深刻地了解,并对用户的要求加以认真的分析,并给予分类,对所分类进行功能模块化设计,画出系统数据流图,流程图和结构图....

    C#对Windows服务组的启动与停止操作

    Visual Studio可以不打开,SqlServer Management Studio可以不打开,但是SqlServer服务却默认开启了。下班后,我的计算机想用于生活、娱乐,不需要数据库服务这些东西,尤其是在安装了Oracle数据库后,我感觉机器...

    C#对Windows服务组的启动与停止

     Visual Studio可以不打开,SqlServer Management Studio可以不打开,但是SqlServer服务却默认开启了。下班后,我的计算机想用于生活、娱乐,不需要数据库服务这些东西,尤其是在安装了Oracle数据库后,我感觉机器...

Global site tag (gtag.js) - Google Analytics