① string sql = "insert 表名 (Uaccount,Ucipher) values(@account,@cipher) ";什麼意思 請詳細點
定義一個string類型的sql變數,賦一段SQL語句給他。。sql語句是插入數據,表名後面的括弧的Uaccount,Ucipher是insert後面跟的表的里的其中2個欄位,values後面跟的2個變數,後面的語句會賦值給這2個變數,就是賦值給這2個@account,@cipher
② SQL Server的常用數據類型(字元型)詳解
對於程序中的string型欄位,SQLServer中有char、varchar、nchar、nvarchar四種類型來對應(暫時不考慮text和ntext),開建立資料庫中,對這四種類型往往比較模糊,這里做一下對比。
定長或變長
所謂定長就是長度固定的,當輸入的數據長度沒有達到指定的長度時將自動以英文空格在其後面填充,使長度達到相應的長度;有var前綴的,表示是實際存儲空間是變長的,比如varchar,nvarchar變長字元數據則不會以空格填充,比較例外的是,text存儲的也是可變長。
Unicode或非Unicode
資料庫中,英文字元只需要一個位元組存儲就足夠了,但漢字和其他眾多非英文字元,則需要兩個位元組存儲。如果英文與漢字同時存在,由於佔用空間數不同,容易造成混亂,導致讀取出來的字元串是亂碼。Unicode字元集就是為了解決字元集這種不兼容的問題而產生的,它所有的字元都用兩個位元組表示,即英文字元也是用兩個位元組表示。而前綴n就表示Unicode字元,比如nchar,nvarchar,這兩種類型使用了Unicode字元集。
基於以上兩點來看看欄位容量
char,varchar 最多8000個英文,4000個漢字
nchar,nvarchar 可存儲4000個字元,無論英文還是漢字
使用(個人偏好)
如果數據量非常大,又能100%確定長度且保存只是ansi字元,那麼char
能確定長度又不一定是ansi字元或者,那麼用nchar;
對於超大數據,如文章內容,使用nText
其他的通用nvarchar
char、varchar、nchar、nvarchar特點比較
CHAR
CHAR存儲定長數據很方便,CHAR欄位上的索引效率級高,比如定義char(10),那麼不論你存儲的數據是否達到了10個位元組,都要佔去10個位元組的空間。
VARCHAR
存儲變長數據,但存儲效率沒有CHAR高,如果一個欄位可能的值是不固定長度的,我們只知道它不可能超過10個字元,把它定義為 VARCHAR(10)是最合算的。VARCHAR類型的實際長度是它的值的實際長度+1。為什麼"+1"呢?這一個位元組用於保存實際使用了多大的長度。
從空間上考慮,用varchar合適;從效率上考慮,用char合適,關鍵是根據實際情況找到權衡點。
TEXT
text存儲可變長度的非Unicode數據,最大長度為2^31-1(2,147,483,647)個字元。
NCHAR、NVARCHAR、NTEXT
這三種從名字上看比前面三種多了個"N"。和char、varchar比較起來,nchar、nvarchar最多存儲4000個字元,不論是英文還是漢字;而char、varchar最多能存儲8000個英文,4000個漢字。可以看出使用nchar、nvarchar數據類型時不用擔心輸入的字元是英文還是漢字,較為方便,但在存儲英文時數量上有些損失。
所以一般來說,如果含有中文字元,用nchar/nvarchar,如果純英文和數字,用char/varchar
③ java EE 的 for 和String 在sql裡面用途 請如題 謝謝大神!!!
從第一行開始看,首先是分割傳遞進來的str這個字元串,也就是 String[] s = str.split(",");
然後定義一個StringBuffer對象,這個對象可以添加數據,使用的就是append方法,所以下邊的sb.append(",") ;就是往這個對象里邊添加數據。
or 是sql 語句的關鍵字,這里的意思就是在第二個條件就是使用or連接。
建議你去了解一下java基礎,split(),String,StrungBuffer這種東西都是經常使用的方法。
④ string StrSQL = "Select * From 客戶 where 客戶ID='"+textBox1.Text+"'"; 請問這段代碼什麼意思~~~
定義一個sql語句。
sql語句的意思是,從「客戶」表中搜索「客戶ID」等於從textBox1取得的ID號。
⑤ c#中 string sql=string.format是什麼意思
利用string對象提供的Format方法,構造一個SQL語句字元串。例如,有一個名為Student的表,這個表有name, age, id, gendar 四個欄位
stringgendar="男";
stringsql=string.Format("Select*FromStudentwhereGendar='{0}'",gendar);
利用構造出來的SQL語句字元串為:
Select * From Student Where Gendar = '男'
gendar="女";
sql=string.Format("Select*FromStudentwhereGendar='{0}'",gendar);
則構造出來的SQL語句字元串為:
Select * From Student Where Gendar = '女'
------------
從上面的例子可見,利用string.Format可以很方便的構造出SQL命令串。
⑥ sql中的string sql
是程序里的代碼。
一個運用程序要實現對資料庫的操作,其中一部是在代碼中拼接出操作資料庫的sql語句。
這里的sql本質上只是一個字元串,然後通過兩個判斷對其拼接。只不過拼接好之後可以用作資料庫操作的sql語句。
⑦ string SQL="select * from where "+searchtype+" like '%"+searchkey+"%' "; 是什麼意思,解析希望詳細點
string SQL="select * from where "+searchtype+" like '%"+searchkey+"%' ";
你寫的sql有問題,from後沒有表名,
searchtype是你的表中的欄位名, searchkey是你的查詢條件,寫完整了就像我下邊寫的sql一樣:select * from Student where name like '%張%';(意思就是查詢Student表中的name欄位,只要name中的欄位包含'張'字的都給查詢出來)
if(booktype.equals("所有書籍")) :判斷你的booktype是否為"所有書籍"
然後判斷if(!searchtype.equals("") && !searchkey.equals("")) 是否為空,條件滿足的情況下,就追加sql1,和sql2的條件
大概就是這個意思
⑧ .Net中,String類型與SqlString類型的區別除了一個是引用,一個是結構外,說點編程應用方面的。
要想理解SqlString,就得知道他屬於哪個命名空間。
System.Data.SqlTypes:
System.Data.SqlTypes 命名空間為 SQL Server 2005
中的本機數據類型提供類。這些類為 .NET Framework 公共語言運行庫 (CLR)
所提供的數據類型提供了一種更為安全和快速的替代項。使用此命名空間中的類有助於防止出現精度損失造成的類型轉換錯誤。由於其他數據類型在幕後與
SqlTypes 進行相互轉換,所以在此命名空間內顯式創建和使用對象將會使代碼更快。
看了上面MSDN的說明,就可以理解,在我們操作資料庫時,不管取數據,還是存數據,我們顯式使用SqlTypes中的數據類型,會比其他數據類型執行的速度快些、安全些。
使用:
SqlStringname=newSqlString("xxxx");
newSqlParameter("Name",name);
SqlDataReaderreader=cmd.ExecuteReader();
SqlStringname=reader.GetSqlString(0);
⑨ 為什麼用string sql=String.Format()插入記錄
有兩種可能,第一種可能就是你這個段代碼的string.format方法被重寫了,可以自動的將一個字元串語句和id號翻譯為sql的語句字元串。第二種可能就是sql變數這里只是最需要的sql語句的一部分,利用string.format方法僅僅想將整型id轉化指定格式的字元串,作用相當於id.tostring("d2").
⑩ sql中@mString 什麼意思
定義一個量,變數名 @mString,類型 varchar,長度 40