Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.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# 面临连接错误_C#_Sql_Asp.net - Fatal编程技术网

C# 面临连接错误

C# 面临连接错误,c#,sql,asp.net,C#,Sql,Asp.net,我知道这个问题已经被重复了很多次,但我真诚地试图修复它并找出错误所在,但我无法找到它并解决它,所以我将我的问题张贴在这里。此代码的问题在于它给我错误消息: ExecuteOnQuery:尚未初始化连接属性 在代码的末尾。有人能帮我吗 protected void editHPPersInfobtn_Click(object sender, EventArgs e) { SqlConnection EdPersInfoCon = new SqlConnection(sc)

我知道这个问题已经被重复了很多次,但我真诚地试图修复它并找出错误所在,但我无法找到它并解决它,所以我将我的问题张贴在这里。此代码的问题在于它给我错误消息:

ExecuteOnQuery:尚未初始化连接属性

在代码的末尾。有人能帮我吗

 protected void editHPPersInfobtn_Click(object sender, EventArgs e)
    {
        SqlConnection EdPersInfoCon = new SqlConnection(sc);
        SqlCommand EditUsrInfoCMD = new SqlCommand();

        var UsrNme = Session["UsrNme"];

        string FileExtentiona = System.IO.Path.GetExtension(EditImgFUP.FileName);
        string FileExtentiona2 = System.IO.Path.GetExtension(EditPersInfologoFileUp.FileName);
        string FileExtentiona3 = System.IO.Path.GetExtension(EditPesInfoBizImg1FU.FileName);
        string FileExtentiona4 = System.IO.Path.GetExtension(EditPesInfoBizImg2FU.FileName);
        string FileExtentiona5 = System.IO.Path.GetExtension(EditPesInfoBizImg3FU.FileName);



        if (Session["UsrNme"] != null)
            {
       if (EditImgFUP.HasFile || EditPersInfologoFileUp.HasFile || EditPesInfoBizImg1FU.HasFile || EditPesInfoBizImg2FU.HasFile || EditPesInfoBizImg3FU.HasFile)
         {
             var files = new[] { FileExtentiona, FileExtentiona2, FileExtentiona3, FileExtentiona4, FileExtentiona5 };
             files = files.Where(s => !string.IsNullOrEmpty(s)).ToArray();
             var extensions = new[] { ".jpg", ".png" };

           if ((files.Except(extensions).Count()) <= 0)
         {

                if (EditImgFUP.PostedFile.ContentType.ToLower().StartsWith("image/") ||
                EditPersInfologoFileUp.PostedFile.ContentType.ToLower().StartsWith("image/") ||
                EditPesInfoBizImg1FU.PostedFile.ContentType.ToLower().StartsWith("image/") ||
                EditPesInfoBizImg2FU.PostedFile.ContentType.ToLower().StartsWith("image/") ||
                EditPesInfoBizImg3FU.PostedFile.ContentType.ToLower().StartsWith("image/"))
                    {

                        string EditUsrInfoSQL = @"Update UserInfo SET  FN=@FN, LN=@LN, Password=@Password, RePass=@RePass, Website=@Website, Post=@Post, Email=@Email, Address=@Address, TeleNum=@TeleNum, Facebook=@Facebook, GooglePlus=@GooglePlus, Twitter=@Twitter, Img=@Img, Logo=@Logo, image1=@image1, image2=@image2, image3=@image3 Where UID=@UID";


                        EditUsrInfoCMD.Connection = EdPersInfoCon;
                        EditUsrInfoCMD.CommandType = CommandType.Text;
                        EditUsrInfoCMD.CommandText = EditUsrInfoSQL;

                        EditUsrInfoCMD.Parameters.AddWithValue("@UID", UsrNme);
                        EditUsrInfoCMD.Parameters.AddWithValue("@FN", FNEDTTXTBX.Text);
              //...


                        string imgnouser = "/images/general/nouser.jpg";
                        string[] imagesUI = GetImagess(Convert.ToString(UsrNme));


                        if (EditImgFUP.HasFile)
                        {
                            EditUsrInfoCMD.Parameters.AddWithValue("@Img", EditImgFUP.FileName);
                            EditImgFUP.SaveAs(Server.MapPath("~/images/users/" + EditImgFUP.FileName));

                        }
                        else
                        {
                            if (string.IsNullOrEmpty(imagesUI[0]))
                            {
                                EditUsrInfoCMD.Parameters.AddWithValue("@Img", imgnouser);
                            }
                            else
                            {
                                EditUsrInfoCMD.Parameters.AddWithValue("@Img", imagesUI[0]);
                            }

                        }

                    }
                }

        else
        {
            EditPersInfoImgFrmtWarnLbl.Text = "Error: The file should have .png or .jpg format only";
            EditPersInfoImgFrmtWarnLbl.ForeColor = System.Drawing.Color.Red;
            EditUsrPan.Visible = true;
        }

        }


                else
                {

                    string EditUsrInfoSQL = @"Update UserInfo SET  FN=@FN, LN=@LN, Password=@Password, RePass=@RePass, Website=@Website, Post=@Post, Email=@Email, Address=@Address, TeleNum=@TeleNum, Facebook=@Facebook, GooglePlus=@GooglePlus, Twitter=@Twitter Where UID=@UID";

                    EditUsrInfoCMD.Connection = EdPersInfoCon;
                    EditUsrInfoCMD.CommandType = CommandType.Text;
                    EditUsrInfoCMD.CommandText = EditUsrInfoSQL;

                    EditUsrInfoCMD.Parameters.AddWithValue("@UID", UsrNme);
                    EditUsrInfoCMD.Parameters.AddWithValue("@FN", FNEDTTXTBX.Text);
                    EditUsrInfoCMD.Parameters.AddWithValue("@LN", LNEDTTXTBX.Text);
                    EditUsrInfoCMD.Parameters.AddWithValue("@Password", PASSEDTTXTBX.Text);
                 //...

                }


                EdPersInfoCon.Open();
                int result = EditUsrInfoCMD.ExecuteNonQuery();
                if (result > 0)
                {
                    // Updated successfully;
                }
                EditUsrPan.Visible = false;
                ReHPPersInfo();
                showusrinfo.Visible = true;

            }
            }

if…else中有两个分支,您不将连接分配给命令:

if (Session["UsrNme"] != null)
{
    if (EditImgFUP.HasFile || EditPersInfologoFileUp.HasFile || EditPesInfoBizImg1FU.HasFile || EditPesInfoBizImg2FU.HasFile || EditPesInfoBizImg3FU.HasFile)
    {
        if ((files.Except(extensions).Count()) <= 0)
        {
            if (....)
            {
                EditUsrInfoCMD.Connection = EdPersInfoCon;
                EditUsrInfoCMD.CommandType = CommandType.Text;
                EditUsrInfoCMD.CommandText = EditUsrInfoSQL;

                EditUsrInfoCMD.Parameters.AddWithValue("@UID", UsrNme);
                EditUsrInfoCMD.Parameters.AddWithValue("@FN", FNEDTTXTBX.Text);
            }
            // !!! HERE  !!!
        }
        else
        {
             // !!! HERE  !!!
            EditPersInfoImgFrmtWarnLbl.Text = "Error: The file should have .png or .jpg format only";
            EditPersInfoImgFrmtWarnLbl.ForeColor = System.Drawing.Color.Red;
            EditUsrPan.Visible = true;
        }

    }
    else
    {
        string EditUsrInfoSQL = @"Update UserInfo SET  FN=@FN, LN=@LN, Password=@Password, RePass=@RePass, Website=@Website, Post=@Post, Email=@Email, Address=@Address, TeleNum=@TeleNum, Facebook=@Facebook, GooglePlus=@GooglePlus, Twitter=@Twitter Where UID=@UID";
        EditUsrInfoCMD.Connection = EdPersInfoCon;
        EditUsrInfoCMD.CommandType = CommandType.Text;
        EditUsrInfoCMD.CommandText = EditUsrInfoSQL;
    }

嗨,提姆,谢谢你的回复,如果我不认为它需要后的第一个,因为我已经在开始时分配了它,在其他声明中的第二部分,我也不认为我需要分配,因为在我的另一页,我有一些类似的代码,我没有做你提到的和它的工作。但请更新您的答案并替换//此处!!你认为我必须这样做,我会尝试,我希望会work@Alfred:您只需要在上面显示的初始化命令的位置分配连接。这是最安全的方法。我能说的是,您当前有两个条件,其中命令的连接没有分配。这里的第一个是缺少内部if的else,第二个在files.Exceptextensions.Count>0和editPersInfo.gfrmtwarnlbl.Text=Error时适用:文件应仅具有.png或.jpg格式;
SqlConnection EdPersInfoCon = new SqlConnection(sc);
SqlCommand EditUsrInfoCMD = new SqlCommand();
EditUsrInfoCMD.Connection = EdPersInfoCon;