Web服务中的SQL连接字符串c#

时间:2014-08-11 11:00:30

标签: c# sql-server web-services visual-studio-2012

您好我找到了我的Web服务到sql-server数据库的正确连接语句。我正在尝试从我的数据库中检索数据以检查用户的登录详细信息。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;

namespace BTC_Service
{
    public class UseDatabase
    {
        SqlConnection sqlConn;

        internal Boolean Connect()
        {
            try
            {
                sqlConn = new SqlConnection(@"Integrated Security=true; Initial Catalog=BTCFS_DataBase; Data Source=.\SQLEXPRESS;");
                sqlConn.Open();
                return true;
            }
            catch (SqlException ex)
            {
                return false;
            }
        }

        internal void DisconnectDatabase()
        {
            sqlConn.Close();
        }

        internal Boolean ExecuteCommand(String query)
        {
            try
            {
                SqlCommand cmd = sqlConn.CreateCommand();
                cmd.CommandText = query;
                cmd.ExecuteNonQuery();
                return true;
            }
            catch (SqlException ex)
            {
                return false;
            }
        }

        internal SqlDataReader ExecuteQuery(String query)
        {
            try
            {
                SqlCommand cmd = sqlConn.CreateCommand();
                cmd.CommandText = query;
                return cmd.ExecuteReader();
            }
            catch (SqlException ex)
            {
                return null;
            }
         }
    }
}

使用sql-server 2008创建数据库,其路径为:

C:\ BTCFS_DataBase \ db_BTDC_data.mdf

和日志文件

C:\ BTCFS_DataBase \ db_BTDC_log.ldf

数据库没有密码,代码如下:

USE master
GO

create database db_BTCFC 
ON PRIMARY
(
    NAME =  'db_BTCFC_Data',
    FILENAME = 'c:\BTCFS_DataBase\db_BTDC_data.mdf',
    SIZE = 5MB,
    FILEGROWTH = 10%    
)
LOG ON
(
    NAME = 'db_BTFC_log',
    FILENAME = 'c:\BTCFS_DataBase\db_BTDC_log.ldf',
    SIZE = 5MB,
    FILEGROWTH = 10%
)
GO

有什么建议我做错了吗? 我应该以特定的方式将数据库添加到visual studio吗? 或者我是以错误的方式创建我的数据库?

提前谢谢。

2 个答案:

答案 0 :(得分:1)

使用集成安全性连接的事实意味着Windows上的本地用户帐户应在您的计算机本地托管的SQL服务器实例上进行身份验证(显然由"。" in数据源,指的是您的本地计算机)。可能是您的SQL服务器实例的设置不适合Windows身份验证。检查您的配置是否允许"混合模式"身份验证,即Windows身份验证或用户名/密码身份验证...

答案 1 :(得分:1)

我发现这个陈述比前一个更有效:

sqlConn = new SqlConnection(@"Integrated Security=SSPI; Initial Catalog=BTCFS_DataBase; Data Source=localhost"); 

感谢@Wolfish的链接。