问题描述
我是新手,问一下,在我的个人电脑上我怎么用VS连接不上SQL2005数据库。总是提示连接失败。现代码复制上去希望高手纠正一下。usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceMyForm{publicpartialclassOpenCloseDB:Form{publicOpenCloseDB(){InitializeComponent();}privatevoidbtnTest_Click(objectsender,EventArgse){stringconnString="DataSource=.;InitialCatalog=MySchool;UserID=sa";SqlConnectionconnection=newSqlConnection(connString);intnum=0;stringmessage="";stringsql="SELECTCOUNT(*)FROMStudent";try{connection.Open();MessageBox.Show("打开数据库连接成功");SqlCommandcommand=newSqlCommand(sql,connection);num=(int)command.ExecuteScalar();message=string.Format("Student表中共有{0}条学员信息!",num);MessageBox.Show(message,"查询结果",MessageBoxButtons.OK,MessageBoxIcon.Information);}catch(Exceptionex){MessageBox.Show(ex.Message);}finally{connection.Close();MessageBox.Show("关闭数据库连接成功");}}privatevoidOpenCloseDB_Load(objectsender,EventArgse){}}}
解决方案
解决方案二:
在C#服务器资源管理器中连接数据库,然后右键点建立的连接选属性,在属性面版中将连接字符串内容复制出来,粘贴到stringconnString="DataSource=.;InitialCatalog=MySchool;UserID=sa";中的引号内,如果字符串中有,则在引号前加@就可了,这样连接数据库就不能失败了,同时也可将服务器名替换为.便于移植。
解决方案三:
如果你用绝对地址,最好从web.config中检查相应字段,复制过来,或者使用动态连接方式
解决方案四:
stringconnString="DataSource=.;InitialCatalog=MySchool;UserID=sa";你的数据库密码为空吗?不为空加上密码(Password=***)也可以换用Windows验证试试:stringconnString="DataSource=.;InitialCatalog=MySchool;IntegratedSecurity=True";
解决方案五:
如果你用的SQLserver不是完全版的,"datasource=.\SQLEXPRESS"才可以