Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# asp.net-中的用户代码未处理sqlexception_C#_Asp.net_Sql Server - Fatal编程技术网

C# asp.net-中的用户代码未处理sqlexception

C# asp.net-中的用户代码未处理sqlexception,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我在stackoverflow上搜索了很多关于此错误的信息,但这些问题与我的错误主题相去甚远 我正在用“Tuts+”教程编写CMS,每次我试图解决它时,我都会得到这段代码。。。 错误: 其他信息:与网络相关或特定于实例的错误 建立与SQL Server的连接时发生。服务器已关闭 找不到或无法访问。验证实例名称是否正确 正确,并且SQL Server已配置为允许远程连接。 (提供程序:命名管道提供程序,错误:40-无法打开 与SQL Server的连接) 我尝试重新启动sql服务并关闭防火墙,然后

我在stackoverflow上搜索了很多关于此错误的信息,但这些问题与我的错误主题相去甚远

我正在用“Tuts+”教程编写CMS,每次我试图解决它时,我都会得到这段代码。。。 错误:

其他信息:与网络相关或特定于实例的错误 建立与SQL Server的连接时发生。服务器已关闭 找不到或无法访问。验证实例名称是否正确 正确,并且SQL Server已配置为允许远程连接。 (提供程序:命名管道提供程序,错误:40-无法打开 与SQL Server的连接) 我尝试重新启动sql服务并关闭防火墙,然后。。。但是 以及守则:

使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Text.RegularExpressions;
使用System.Web;
使用WebMatrix.Data;
/// 
///PostHandler的摘要说明
/// 
公共类PostHandler:IHttpHandler
{
公共PostHandler()
{
//
//TODO:在此处添加构造函数逻辑
//
}
公共布尔可重用
{
获取{return false;}
}
公共void ProcessRequest(HttpContext上下文)
{
var title=context.Request.Form[“postTitle”];
var content=context.Request.Form[“postContent”];
var slug=CreateSlug(标题);
使用(var db=Database.Open(“DefaultConnection”))
{
var sql=“SELECT*FROM Posts,其中Slug=@0”;
var result=db.QuerySingle(sql,slug);
如果(结果!=null){
抛出新的HttpException(409,“SLUG已在使用中!”);
}
sql=“插入帖子(标题、内容、作者、Slug”+
“值(@0、@1、@2、@3)”;
执行(sql,标题,内容,1,slug);
}
}
私有静态字符串CreateSlug(字符串标题)
{
title=title.ToLowerInvariant()。替换(“,”-”;
title=Regex.Replace(title,@“[^0-9a-z-]”,string.Empty);
返回标题;
} 
}
我在网上发现了这个错误:


var result=db.QuerySingle(sql,slug);

转到控制面板/搜索服务找到sql Server(XXX)服务,并检查它是否正在运行。如果它没有运行,则启动它并尝试再次登录SSMS


阅读更多图片插图

此错误表示您的连接字符串错误。它存储在web.config中。有关如何组合连接字符串的信息,请参阅。对于故障连接字符串的故障排除,没有通用方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Web;
using WebMatrix.Data;


/// <summary>
/// Summary description for PostHandler
/// </summary>
public class PostHandler : IHttpHandler
{
    public PostHandler()
    {
        //
        // TODO: Add constructor logic here
        //
    }

    public bool IsReusable
    {
        get { return false; }
    }

    public void ProcessRequest(HttpContext context)
    {
        var title = context.Request.Form["postTitle"];
        var content = context.Request.Form["postContent"];
        var slug = CreateSlug(title);


        using (var db = Database.Open("DefaultConnection"))

        {

            var sql = "SELECT * FROM Posts WHERE Slug = @0";

            var result = db.QuerySingle(sql, slug);




            if (result != null) {

                throw new HttpException(409, "SLUG IS ALREADY IN USE!");

            }

            sql = "INSERT INTO Posts (Title, Content, AuthorId, Slug" +
                    "VALUES (@0, @1, @2, @3)";
            db.Execute(sql, title, content, 1, slug);
        }
    }


    private static string CreateSlug(String title)
    {
        title = title.ToLowerInvariant().Replace(" ", "-");
        title = Regex.Replace(title, @"[^0-9a-z-]", string.Empty);

        return title;
    } 
}