Выйдите из символа одинарной кавычки для использования в запросе SQLite

Спасибо, мне удалось достичь того, что я хотел сделать. Ниже приведен окончательный код:

var request = (HttpWebRequest)WebRequest.Create("http://myapiurl.com/myapi/csos.asp");
var postData = "username=fdgfdg";
postData += "&password=dfgdg";
postData += "&intResortID=353453";
postData += "&strpartysurname=test";
postData += "&strpartyfirstname=test";
postData += "&strpartyprefix=M";
postData += "&intqtyadults=1";
postData += "&intqtytotal=1";
postData += "&dtmLine1=20-Mar-2019";
postData += "&strRoomType1=sea";
postData += "&intRooms1=1";
postData += "&intnights1=1";
postData += "&strFlightNo=w";
postData += "&strNotes=FlighDJ76";
postData += "&strBookingCode=zx";
postData += "&strPosBookingRef=mine";
postData += "&strPromotionCode=hellogirl";
postData += "&BookID=hgjghjg";

var data = Encoding.ASCII.GetBytes(postData);


request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;

var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();

using (var stream2 = request.GetRequestStream())
{
    stream2.Write(data, 0, data.Length);
}

var responser = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(responser.GetResponseStream()).ReadToEnd();
this.WriteToFile("Some data has been posted  " +responseString);

Я использовал Visual Studio 2008, поэтому не могу использовать Httpclient. Но приведенный выше код работает нормально, и он помогает мне достичь того, чего я хочу

163
задан user4157124 24 January 2018 в 01:30
поделиться

2 ответа

Попытайтесь согнуть одинарные кавычки (много баз данных ожидают это тот путь), таким образом, это было бы:

INSERT INTO table_name (field1, field2) VALUES (123, 'Hello there''s');

Соответствующая кавычка от документация :

строковая константа А формируется путем включения строки в одинарных кавычках ('). Одинарная кавычка в строке может быть закодирована путем помещения двух одинарных кавычек подряд - как в Паскале. Escape C-стиля с помощью символа обратной косой черты не поддерживаются, потому что они не стандартный SQL. Литералы BLOB являются строковыми литералами, содержащими шестнадцатеричные данные, и предшествовали единственным символом "x" или "X".... Литеральное значение может также быть маркером "ПУСТОЙ УКАЗАТЕЛЬ".

275
ответ дан user4157124 23 November 2019 в 21:17
поделиться

Я полагаю, что Вы хотели бы выйти путем удвоения одинарной кавычки:

INSERT INTO table_name (field1, field2) VALUES (123, 'Hello there''s');
42
ответ дан overslacked 23 November 2019 в 21:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: