paul_vin Ответов: 2

Я показываю сообщение на этикетке, но оно показывает исключение в инструментах разработчика как re: sys.webforms.pagerequestmanagerparsererrorexception: сообщение, полученное от сервера cou...


Я вставляю данные в базу данных, а затем даю сообщение на этикетке как
Вести Успешно Сохранен
а затем он связывает все данные с GridView, которые мы вставили сейчас и ранее вставили
для этого у меня есть функция
AllMyLeads();


Я дал сообщение после того, как InsertQuery Executated Data вставляет, но сообщение не отображается

Я также пытаюсь отобразить сообщение после ShowFunction, т. е.
AllMyLeads()


но он показывает сообщение

Re: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server cou...

В инструменте разработчика

Что я уже пробовал:

SqlConnection connection10 = new SqlConnection(connstring);
                                connection10.Open();
                                if (Addcompanyname1.Text != "")
                                {
                                    string str101 = "exec strp_insertintoAdd_Lead @Companyid=" + companyid1 + ",@Contactperson='" + txtContactPerson1.Text + "',@Telephone='" + str11 + "',@Emailid='" + txtEmailID1.Text + "',@Bankid=" + Bankid1 + ",@BankerContactperson='" + Convert.ToString(txtBankerContactPerson1.Text) + "',@Turnover='" + txtTurnover1.Text + "',@EmailBankperson='" + txtEmailidBankerContactPerson1.Text + "',@SourceLead='" + sourceid + "',@AddressLine1='" + txtAddressLine11.Text + "',@AddressLine2='" + txtAddressLine21.Text + "',@Pincodeid=" + ViewState["pincodeid1"].ToString() + ",@Cityid=" + ViewState["cityid1"].ToString() + ",@Productid=" + pid1 + ",@Ratedby=" + Rbid1 + ",@Createdby=" + ViewState["Userid"].ToString() + ",@Lastupdatedby=" + ViewState["Userid"].ToString() + ",@Datecreatedby='" + date + "',@Lastupdatedon='" + date + "',@Userid=" + ViewState["Userid"].ToString() + ",@LeadOwner=" + ViewState["Userid"].ToString() + ",@bankfacility='" + Convert.ToString(txtbankfacility.Text) + "',@MobileNo='" + Convert.ToString(txtMobileNo.Text) + "',@BankersMobileNumber='" + Convert.ToString(BankerMobileNo.Text) + "',@BankersTelNumber='" + str12 + "'";
                                    new SqlCommand(str101, connection10).ExecuteNonQuery();
                                    lblMessage.Visible = true;
                                    lblMessage.Text = "Lead saved successfully";
                                    bLbVis = true;

                                    connection10.Close();


а также попробовал последовать



в функции вставки я сделал
bLbVis == true

а затем для функции Show Я дал сообщение

public void AllMyLeads()
       {
           emptygrid.Visible = false;
           dset = getDataDataset("exec strp_downloadallmyleads @leadowner='" + ViewState["Userid"].ToString() + "'");
           if (dset.Tables[0].Rows.Count == 0)
           {
               emptygrid.Visible = true;
           }
           else
           {
               girdAllMyleads.DataSource = dset.Tables[0];
               girdAllMyleads.DataBind();
           }

           if (bLbVis == true)
           {
               lblMessage.Visible = true;
               lblMessage.Text = "Lead saved successfully";
               return;
           }
       }

2 Ответов

Рейтинг:
13

OriginalGriff

Дон;т сделать это, как это! Никогда не объединяйте строки для построения SQL-команды. Это оставляет вас широко открытыми для случайной или преднамеренной атаки SQL-инъекции, которая может уничтожить всю вашу базу данных. Вместо этого используйте параметризованные запросы.
Вам не нужно выполнять свой SP: вы можете выполнить параметризованный вызов непосредственно SP без EXEC:

using (SqlCommand com = new SqlCommand("MyStoredProcedureName", con))
    {
    com.CommandType = CommandType.StoredProcedure;
    com.Parameters.AddWithValue("@PARAM", "the value for the parameter");
    com.ExecuteNonQuery();
    }


Затем посмотрите на свои хранимые процедуры и посмотрите, что они делают: без этого вы не можете начать диагностировать свои проблемы.


Рейтинг:
1

Dave Kreskowiak

"str101","connection10"? Да, это не описательные имена переменных. Вы когда-нибудь слышали о концепции "самодокументирующего кода"? Я предлагаю Вам погуглить его и почитать.

О, МОИ ГЛАЗА!

Кроме того, эта строка SQL есть... ужасающий. Используя конкатенацию строк для построения строки SQL-запроса, вы также очень легко разбили код и значительно усложнили его отладку.

Я предлагаю вам поискать в Google "атаку SQL-инъекций", чтобы узнать, почему то, что вы сделали, так плохо, и" параметризованные запросы C# SQL", чтобы узнать, что с этим делать.