关于C#和SQL链接问题
class MyMeans
{
#region 全局变量
public static string Login_ID = ""; //定义全局变量,记录当前登录的用户编号
public static string Login_Name = ""; //定义全局变量,记录当前登录的用户名
public static string Mean_SQL = "", Mean_Table = "", Mean_Field = ""; //定义全局变量,记录“基础信息”各窗体中的表名及SQL语句
public static SqlConnection My_con; //定义一个SqlConnection类型的公共变量My_con,用于判断数据库是否连接成功
public static string M_str_sqlcon = "Data Source=mrwxk\\wangxiaoke;Database=db_PWMS;User id=sa;PWD=";
public static int Login_n = 0; //用户登录与重新登录的标识
public static string AllSql = "Select * from tb_Stuffbusic"; //存储职工基本信息表中的SQL语句
//public static int res = 0;
#endregion
#region 建立数据库连接
/// <summary>
/// 建立数据库连接.
/// </summary>
/// <returns>返回SqlConnection对象</returns>
public static SqlConnection getcon()
{
My_con = new SqlConnection(M_str_sqlcon); //用SqlConnection对象与指定的数据库相连接
My_con.Open(); //打开数据库连接
return My_con; //返回SqlConnection对象的信息
}
#endregion
#region 测试数据库是否赋加
/// <summary>
/// 测试数据库是否赋加
/// </summary>
public void con_open()
{
getcon();
//con_close();
}
#endregion 展开
遇到这样的问题一般你主要查看两个地方:
1、你写的连接字符串是否正常。
Sql Server 登录:
server=mrwxk\\wangxiaoke;User ID=sa;Password=123456;
database=db_PWMS;Connection Reset=FALSE
windows登录:
server=mrwxk\\wangxiaoke; database=db_PWMS; integrated security=sspi
注意:你必须要保证你的数据库服务打开,在你输入的服务器(mrwxk\\wangxiaoke)用用户(sa)登录可以成功,并服务器上存在这个数据库。
2、数据库服务是否启动。
如果在连接的时候出现如下错误:
这就说明,你的SQL服务没有启动,
SQL2005,你要启动SQL Server(MSSQLSERVER)服务;
SQL2008,你要启动SQL Server(你自己输入的域名【例如SQL2008】)服务;
SQLEXPRESS,你要启动SQL Server(SQLEXPRESS)服务。
如果按上面两种方面都做了,但是还是没有结果的话,您还可以采用“调试”代码的方式,跟踪您的代码,看具体什么地方报错了(这是最好,最明白过程的处理方法,推荐开发有问题采用这种方式)。
一般来说,要查如下步骤:
1. 确认数据库是否允许远程连接
2. 确认数据库服务是否正常启动
3. 确认数据库服务器的防火墙开通
4. 确认客户端到服务器网络畅通
5. 确认连接字符串正确,包括:主机名\实例名,端口
6. 确认数据库是否允许混合登录方式
将mrwxk\\wangxiaoke改为. 就可以了。