『壹』 sql server 2005 在插入數據時,系統報出這樣的錯 單元格的值無效(第一列,第7行) 此單元格中更改的值未
你確定你貼出來的SQL語句沒有抄錯嗎?我怎麼感覺是你在設計表的時候不小心將【varchar】寫成了【varbinary】導致的呢?
如果錯將可變長字元串寫成了可變長二進制,就會出現「未被識別為有效值」的情況。此原因導致的問題解決起來也很簡單,先esc退出正在編輯數據的數據表並關閉,去設計界面將varbinary改成字元串類型的數據,問題就解決了。
若是其他原因導致的,就不知道了
『貳』 sql server 2008中怎樣插入圖片,就通過界面操作的
可以插入圖片,但是數據類型不對,類型是image類型,但是不推薦你使用,你要插入的時候需要將圖片轉換成二進制,取出來的時候要將二進制轉換成image類型,這樣很麻煩,而且圖片很多的話,佔用內存比較大,以後取這個表裡面的數據,就很麻煩。推薦直接將圖片保存到本地當中,資料庫保存路徑名
『叄』 怎麼向sql server資料庫插入二進制流 c#
使用DataSet插入二進制欄位:
myConn.Open();
DataSettempDataSet=newDataSet();
SqlDataAdaptertempAdapter=newSqlDataAdapter("SELECT*FROMEP_HmSoftOfficeDocListWHERE1=0",myConn);
SqlCommandBuildertempBuilder=newSqlCommandBuilder(tempAdapter);
tempAdapter.Fill(tempDataSet);
//'插入一條記錄
DataRowtempDataRow=tempDataSet.Tables[0].NewRow();
tempDataRow["DocumentType"]=DocumentType;
tempDataRow["DocumentDate"]=DocumentDate;
tempDataRow["DocumentManager"]=DocumentManager;
tempDataRow["DocumentDepartment"]=DocumentDepartment;
tempDataRow["DocumentTitle"]=DocumentTitle;
tempDataRow["DocumentContent"]=DocumentContent;
tempDataRow["BinaryFileData"]=BinaryFileData;
tempDataRow["BinaryFileType"]=BinaryFileType;
tempDataRow["BinaryFileLength"]=BinaryFileLength;
tempDataRow["BinaryFilePath"]=BinaryFilePath;
tempDataRow["AddUserName"]=strAddUser;
tempDataRow["AddUserTime"]=strAddTime;
tempDataRow["AddUserIP"]=strAddIP;
tempDataSet.Tables[0].Rows.Add(tempDataRow);
tempAdapter.Update(tempDataSet);
『肆』 sql中varbinary 是什麼數據類型
varbinary 類型和char與varchar類型是相似的,只是他們存儲的是二進制數據,也就是說他們是包含位元組流而不是字元流,他們有二進制字元的集合和順序,他們的對比,排序是基於位元組的數值進行的
binary與varbinary的最大長度和char與varchar是一樣的,只不過他們是定義位元組長度,而char和varchar對應的是字元長度。Varbinary是一個可以改變長度的二進制數據。
Varbinary[(n)] 是 n 位變長度的二進制數據。其中,n 的取值范圍是從 1 到 8000。其存儲窨的大小是 n + 4個位元組,不是n 個位元組。
varbinary在插入不會去填補0x00位元組,查詢的時候也不會丟棄任何位元組,在比較的時候,所有的位元組都是有效的,並且0x00<space (space對應的是0x20)。
(4)sqlvarbinary插入擴展閱讀:
varbinary( n | max):可變長度,n 的取值范圍為 1 至 8,000,max 是指最大存儲空間是 2^31-1 個位元組,即最大4GB;
在將數據轉換為二進制數據時,SQL Server會對生成的二進制數據進行填充或截斷,詳細的規則是:
1、填充(或擴展)的二進制數據是16進制的0x00的整數倍,這就是說,填充的位元組中每一個bit都是0;
2、將字元類型轉換成二進制數據時,在數據的右側填充或截斷數據,填充數值是0x00;
3、將其他類型數據轉換成二進制數據時,在數據的左側填充或截斷數據,填充數值是0x00;在截斷數據時,保留低位的數據,將高位數值截斷。
『伍』 關於SQL數據類型varbinary的插入問題
那就直接賦值0x123456789,0x12345A789這個值是16進制,而不是字元,不能單獨更改內部的任何一個值
十六進制不能與字元直接轉換,所以不能替換
『陸』 sql語句插入當前日期的時分秒怎麼插入呢
sqlserver寫的語法如下,比如被插入的表為B表,欄位為time欄位
insertintoB(time)selectreplace(substring(CONVERT(VARCHAR(19),GETDATE(),120),12,8),':','')
這里主要用了convert函數,這是sqlserver中一個進行數據類型轉化的函數。
用法簡介:
與 datetime、smalldatetime 或 sql_variant三種數據類型 一起使用時,
CONVERT和CAST 提供相似的功能 即:將某種數據類型的表達式顯式轉換為另一種數據類型。
語法
使用 CAST:
CAST ( expression AS data_type )
使用 CONVERT:
CONVERT (data_type[(length)], expression [, style])
參數
expression
是任何有效的 Microsoft SQL Server™表達式。有關更多信息,請參見表達式。
data_type
目標系統所提供的數據類型,包括 bigint 和 Sql_variant。不能使用用戶定義的數據類型。有關可用的數據類型的更多信息,請參見數據類型。
length
nchar、nvarchar、char、varchar、binary 或 varbinary 數據類型的可選參數。
style
日期格式樣式,藉以將 datetime 或 smalldatetime 數據轉換為字元數據(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數據類型);或者字元串格式樣式,藉以將 float、real、money 或 smallmoney 數據轉換為字元數據(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數據類型)。
『柒』 sql中varbinary 是什麼數據類型
varbinary
變長二進制數據,一般用於存儲圖片
與binary的區別
binary
和
varbinary
固定長度
(binary)
的或可變長度
(varbinary)
的
binary
數據類型
『捌』 sql server2005 在存儲過程中向已存在表中添加varbinary數據
create procere addnewdata @layername varchar(40),@data varchar(800)
as
begin
exec('insert into ' + @layername + ' (data) values ( convert(varbinary(800),''' + @data + '''))')
end
『玖』 sql在表中插如一條記錄的簡單問題
你這個關鍵是Binary類型的數據的插入問題
參考語句如下:
insert into tablename values("zhangsan", 0x3439430949304,"a1","a2","a3","a4","a5"..."2008-4-29",...)中間自己補上
Sql Server的一個表中有一個欄位為binary類型
當使用insert插入記錄時可以使用'0x'開頭的字元串來表示
empty binary strings代表 '0x'
例如:insert C(a) values(0x3439430949304) ,注意不要加引號
有一店你必須記住:欄位a的長度必須小於或等於存入二進制數的長度
同樣如果想在sql查詢時使用0x開頭的字元串表示binary類型的內容,可用
select convert(varbinary(20),a) from c;
注意:這個語句執行的前提是二進制欄位不能太大,否則由於Sql語句支持長度的限制可能會出錯。這個通常用於對於用戶密碼記小圖片的讀寫。