Ответ 1
SQL Server допускает следующее (будьте осторожны, чтобы использовать одинарные кавычки вместо double)
UPDATE User
SET UserId = 12345
, Name = 'J Doe'
, Location = 'USA'
, Bio='my bio
spans
multiple
lines!'
WHERE UserId = 12345
ОБНОВЛЕНИЕ: био может содержать апострофы (см. обновленный пример)
У меня есть SQL-запрос, который имеет значение, которое охватывает несколько строк и вызывает запрос:
UPDATE User SET UserId=12345, Name="J Doe", Location="USA", Bio="I'm a
bio that has an apostrophe, and I'm
spanning multiple lines!"
WHERE UserId=12345
В С# вы можете поместить @
перед строкой [email protected]"..."
, чтобы позволить ей охватывать несколько строк, но я не уверен, как то же самое можно достичь с помощью SQL-запросов. Как вы получаете строку, охватывающую несколько строк, без необходимости делать такие вещи, как ручная конкатенация строк:
Bio="I'm a"
+" bio that has an apostrophe, and I'm"
+" spanning multiple lines!"
SQL Server допускает следующее (будьте осторожны, чтобы использовать одинарные кавычки вместо double)
UPDATE User
SET UserId = 12345
, Name = 'J Doe'
, Location = 'USA'
, Bio='my bio
spans
multiple
lines!'
WHERE UserId = 12345
Каков тип столбца "BIO"? Какой сервер базы данных (sql/oracle/mysql)? Вы должны иметь возможность охватывать несколько строк, сколько хотите, до тех пор, пока вы придерживаетесь символьного ограничения в типе столбца (т.е. Varchar (200)). Попробуйте использовать одинарные кавычки, которые могут иметь значение. Это работает для меня:
update table set mycolumn = 'hello world,
my name is carlos.
goodbye.'
where id = 1;
Кроме того, вы можете поместить чеки для одиночных кавычек, если вы объединяете строку sql вместе на С#. Если переменная содержит одинарные кавычки, которые могут вывести код из инструкции sql, поэтому не делать все строки, которые вы ожидали увидеть.
Кстати, вы можете разграничить свои SQL-запросы с помощью двоеточия, как на С#, так же, как FYI.
с вашим VARCHAR, вам также может потребоваться указать длину или ее обычно хорошо для
Как насчет захвата текста, создания его укуса, а затем помещения его в запрос witrh
String TableName = "ComplicatedTableNameHere";
EditText editText1 = (EditText) findViewById(R.id.EditTextIDhere);
String editTextString1 = editText1.getText().toString();
BROKEN DOWN
String TableName = "ComplicatedTableNameHere";
//sets the table name as a string so you can refer to TableName instead of writing out your table name everytime
EditText editText1 = (EditText) findViewById(R.id.EditTextIDhere);
//gets the text from your edit text fieldfield
//editText1 = your edit text name
//EditTextIDhere = the id of your text field
String editTextString1 = editText1.getText().toString();
//sets the edit text as a string
//editText1 is the name of the Edit text from the (EditText) we defined above
//editTextString1 = the string name you will refer to in future
, затем используйте
/* Insert data to a Table*/
myDB.execSQL("INSERT INTO "
+ TableName
+ " (Column_Name, Column_Name2, Column_Name3, Column_Name4)"
+ " VALUES ( "+EditTextString1+", 'Column_Value2','Column_Value3','Column_Value4');");
Надеюсь, это поможет некоторым...
ПРИМЕЧАНИЕ каждая строка находится внутри
'"+stringname+"'
его 'и', которые позволяют многострочный элемент srting, без него вы просто получаете первую строку, даже не уверен, что если вы получите всю строку, это может быть просто первое слово
Я предпочитаю использовать символ @, поэтому я вижу запрос точно так же, как я могу скопировать и вставить в файл запроса:
string name = "Joe";
string gender = "M";
string query = String.Format(@"
SELECT
*
FROM
tableA
WHERE
Name = '{0}' AND
Gender = '{1}'", name, gender);
Это действительно здорово с длинными сложными запросами. Приятно, что он поддерживает вкладки и линейные каналы, поэтому вставка в браузер запросов сохраняет хорошее форматирование.