[〜#〜] update [〜#〜]:バイオにはアポストロフィを含めることができます(更新例を参照)
複数行にわたる値を持つ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
C#では、@
文字列の前Bio=@"..."
複数行にまたがるようにしていますが、SQLクエリで同じことがどのように達成できるかわかりません。文字列を手動で連結するなどのことをせずに、複数の行にまたがる文字列を取得するにはどうすればよいですか?
Bio="I'm a"
+" bio that has an apostrophe, and I'm"
+" spanning multiple lines!"
SQL Serverでは次のことができます(二重ではなく単一引用符を使用するように注意してください)
UPDATE User
SET UserId = 12345
, Name = 'J Doe'
, Location = 'USA'
, Bio='my bio
spans
multiple
lines!'
WHERE UserId = 12345
vARCHARを使用して、長さも指定する必要がある場合があります。通常は、
テキストを取得して、それを刺し、それをクエリに入れるのはどうですか
String TableName = "ComplicatedTableNameHere";
EditText editText1 = (EditText) findViewById(R.id.EditTextIDhere);
String editTextString1 = editText1.getText().toString();
壊れた
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');");
これがいくつかの助けになることを願っています...
[〜#〜] note [〜#〜]各文字列は
'"+stringname+"'
srtingの複数行要素を有効にする「and」です。これがない場合は、最初の行だけを取得します。行全体を取得してもわからない場合は、最初のWordのみです
列「BIO」データ型とは何ですか?どのデータベースサーバー(sql/Oracle/mysql)?列のデータ型の文字制限(つまり、varchar(200))を順守している限り、必要な複数の行にまたがることができるはずです。一重引用符を使用してみてください。違いが生じる場合があります。これは私のために働く:
update table set mycolumn = 'hello world,
my name is carlos.
goodbye.'
where id = 1;
また、C#でSQL文字列を連結する場合は、一重引用符のチェックを入れたい場合があります。そのため、SQLステートメントからコードをエスケープする可能性のある単一引用符が変数に含まれている場合、期待するすべての行を実行しません。
ところで、FYIと同様に、C#で行うようにセミコロンでSQLステートメントを区切ることができます。