您好我找到了我的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吗? 或者我是以错误的方式创建我的数据库?
提前谢谢。
答案 0 :(得分:1)
使用集成安全性连接的事实意味着Windows上的本地用户帐户应在您的计算机本地托管的SQL服务器实例上进行身份验证(显然由"。" in数据源,指的是您的本地计算机)。可能是您的SQL服务器实例的设置不适合Windows身份验证。检查您的配置是否允许"混合模式"身份验证,即Windows身份验证或用户名/密码身份验证...
答案 1 :(得分:1)
我发现这个陈述比前一个更有效:
sqlConn = new SqlConnection(@"Integrated Security=SSPI; Initial Catalog=BTCFS_DataBase; Data Source=localhost");
感谢@Wolfish的链接。