sql語句中變數
① sql語句中怎樣使用變數
c#語法
String strSql="SELECT id,pwd FROM Users WHERE id='"+userid+"' AND pwd='"+username+"'"
vb語法
String strSql="SELECT id,pwd FROM Users WHERE id='"&userid&"' AND pwd='"&username&"'"
② SQL中語句中加變數
這里最後添加/r/n
③ 關於sql語句中變數問題
String sql = "UPDATE bus SET amount = amount-"+count+" WHERE busnum='addpid' ";能進行加減運算的就不是字元串,就不要單引號。count是做變數用,自然也不用加引號,加引號就變成了字元串常量,用加號將各部分連接起來就好了
④ 如何在SQL語句中引用變數
declare @id int
set @id=1
select * from table where id=@id
⑤ SQL中變數的種類及表現形式
MS SQL Server中的變數- -
在SQL中,我們常常使用臨時表來存儲臨時結果,對於結果是一個集合的情況,這種方法非常實用,但當結果僅僅是一個數據或者是幾個數據時,還要去建一個表,顯得就比較麻煩,另外,當一個SQL語句中的某些元素經常變化時,比如選擇條件,(至少我想)應該使用局部變數。當然MS SQL Server的全局變數也很有用。
>>>>局部變數
聲明:DECLARE @local_variable data_type
@local_variable 是變數的名稱。變數名必須以 at 符 (@) 開頭。data_type 是任何由系統提供的或用戶定義的數據類型。變數不能是 text、ntext 或 image 數據類型。
示例:
use master
declare @SEL_TYPE char(2)
declare @SEL_CUNT numeric(10)
set @SEL_TYPE = 'U'/*user table*/
set @SEL_CUNT = 10
/*返回系統中用戶表的數目*/
select @SEL_CUNT = COUNT(*)
from sysobjects
where type = @SEL_TYPE
select @SEL_CUNT as 'User table ''s count'
如果要返回系統表的數目,可以用set @SEL_TYPE = 'S'
可能這個例子並不能說明使用變數的好處,我只是想說明使用方法。當一組(幾個甚至幾十個)SQL語句都使用某個變數時,就能體會到他的好處了。
>>>>全局變數
全局變數是系統預定義的,返回一些系統信息,全局變數以兩個at(@)開頭。下面是我統計了一些較為常用的變數。
@@CONNECTIONS
返回自上次啟動以來連接或試圖連接的次數。
@@CURSOR_ROWS
返回連接上最後打開的游標中當前存在的合格行的數量。
@@DATEFIRST
返回每周第一天的數字
@@ERROR
返回最後執行的SQL 語句的錯誤代碼。
@@FETCH_STATUS
返回被 FETCH 語句執行的最後游標的狀態,而不是任何當前被連接打開的游標的狀態。
@@IDENTITY
返回最後插入的標識值
@@LANGID
返回當前所使用語言的本地語言標識符(ID)。
@@LANGUAGE
返回當前使用的語言名。
@@LOCK_TIMEOUT
返回當前會話的當前鎖超時設置,單位為毫秒。
@@PROCID
返回當前過程的存儲過程標識符 (ID) 。
@@ROWCOUNT
返回受上一語句影響的行數。
@@SERVERNAME
返回運行 的本地伺服器名稱。
@@SPID
返回當前用戶進程的伺服器進程標識符 (ID)。
@@TRANCOUNT
返回當前連接的活動事務數。
@@VERSION
返回當前安裝的日期、版本和處理器類型。
⑥ Sql中如何給變數賦值
DECLARE @n1 int,@n2 varchar(10)
set @n1 =(select age from table where column=xxx)
set @n2=(select gender from table where column = xxx )
------------------
或者一起賦值
就是樓上那個
DECLARE @n1 int,@n2 varchar(10)
select @n1 =age,@n2=gender
from table where column = xxx
------------------
select @n1,@n2 就知道變數的值了
⑦ 如何在SQL語句中使用變數
使用變數一般是在存儲過程、方法、觸發器等T-Sql編程的時候用的,使用Declare 來定義變數,在方法/存儲過程/觸發器等裡面進行調用。
⑧ sql語句中怎麼加變數啊
"SELECT * FROM table WHERE name =" + s1
⑨ 在SQL語句中使用變數
WHEREtemperature='31'"; 變成 WHEREtemperature= t 然後執行看看控制台給你打出來的SQL是什麼樣的 看看這個T的表示形式 缺什麼哪不對就改唄 比如控制台打出來的WHEREtemperature=31 如果想要引號 拼字元串還不好說嗎 自己動手多試試
⑩ 關於SQL語句中使用變數的問題
插入進去的數據的類型不匹配. 以int型和nvarchar型為例,其他的像日期型的你自己發揮.
問:
存儲過程這樣的:
CREATE PROCEDURE insertxuesheng @xuehao int,@xingming varchar,@banji varchar,@zhuanye varchar,@nianling int,@xingbie varchar AS
insert 學生(學號,姓名,班級,專業,年齡,性別) values(@xuehao,@xingming,@banji,@zhuanye,@nianling,@xingbie)
代碼這樣的:
SqlCommand cmd = new SqlCommand("insertxuesheng", conn);
cmd.CommandType = CommandType.StoredProcere;
cmd.Parameters.AddWithValue("@xuehao", TextBox1.Text);
cmd.Parameters.AddWithValue("@xingming",TextBox2.Text);
cmd.Parameters.AddWithValue("@banji", TextBox3.Text);
cmd.Parameters.AddWithValue("@zhuanye", TextBox4.Text);
cmd.Parameters.AddWithValue("@nianling", TextBox5.Text);
cmd.Parameters.AddWithValue("@xingbie", TextBox6.Text);
cmd.ExecuteNonQuery();
插入數據後我去看資料庫里的表,發現只有學號和年齡有數據,其他都是空值,怎麼回事
答:
傳入的數據類型不對.
因為學號和年齡是int型,所以傳入TextBoxN.Text可以. 因為這時TextBoxN.Text = " 123", 實際上的SQL語句中就是:xuehao=123
而針對其他的欄位,則都是字元型的,因此 在SQL語句中應該是: xingming = 'abc' .
而:cmd.Parameters.AddWithValue("@xingming",TextBox2.Text);
執行的結果是: xingming=abc.這當然就不行啦.
所以改為: cmd.Parameters.AddWithValue("@xingming","'" + TextBox2.Text + "'"); 就是給TextBoxN.Text前後各加一個引號再傳給存儲過程.