返回列表 回复 发帖

图书管理系统的一个新手问题

我在单位的电脑里能够运行这个系统,但回到家中的电脑就不行了,一旦在登录窗口中输入用户名admin和密码admin后,进行登录后就出现了“在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)”,这样的错误。我在百度里搜索将数据库引擎服务、远程连接也启动,到windows 防火墙里将sqlservr.exe设为例外,仍然不行。请教老师应如何应对与处理。
你检查一下是不是你的数据库服务器的名称和代码中指定的不一致。

一般错误都是这个错误。
?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
    </configSections>
    <connectionStrings>
        <add name="LibraryManager.Properties.Settings.LibraryManagerDBConnectionString"
            connectionString="Data Source=zjj;Initial Catalog=LibraryManagerDB;Persist Security Info=True;User ID=sa;Password=123456"
            providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>
老师,这是我修改后的app.config代码,我的计算机名称就是zjj啊,难道是zjj起名违背了什么规则,我记得 好像以前sql2000对计算机名字有要求。
另外,这个异常 发生在loginform的“if(users.Count() > 0)”这句代码上
3# 竹下等仁


对命名要求严格的是SQL Server 2005和2008的Express版本。

如果你是安装的Express版本,就需要在计算机名后加版本名称。
4# 竹下等仁


最好能发一下这段代码的上下相邻代码。
我用的是sql2005 简体中文开发版,不是express版本
private void btnLogin_Click(object sender,EventArgs e)
                {   ///创建LibraryManagerDB数据库的数据上下文
                        LibraryManagerDBDataContext db = new LibraryManagerDBDataContext(LibraryManager.Properties.Settings.Default.LibraryManagerDBConnectionString);
                        ///查询用户的登录信息是否正确
                        var users = from u in db.User
                                                where u.Username == tbUsername.Text.Trim() && u.Password == tbPassword.Text.Trim()
                                                select u;
                        if(users.Count() > 0)
                        {   ///获取用户的信息
                                User user = users.First();
                                LibrarySystem.UserID = user.ID;
                                ///打开不同组用户的主窗口
                                switch(user.GroupID)
                                {   ///管理员组的主窗口
                                        case 1:
                                                MainForm mf = new MainForm();
                                                mf.Show();
                                                break;
                                        case 2:     ///教师组的主窗口
                                        case 3:     ///学生组的主窗口
                                                UserForm uf = new UserForm();
                                                uf.Show();
                                                break;
                                        default: break;
                                }
                                Hide();        ///隐藏登录窗口
                        }
                }
这是登录按钮的相关代码
老师好,我将整个系统重装了一下,将sqlserver2005与vs2008都重装了一下,已经可以连接了。看来是系统的问题,与具体设置无关。我也早有这个想法,觉得单位与家里的系统一样,为啥一个能行,一个不行,可是实在懒得重装。昨天下定决心重装后,一下子好了。
哦。估计是SQL server 的问题。
返回列表