‘壹’ 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语句支持长度的限制可能会出错。这个通常用于对于用户密码记小图片的读写。