sql二进制
① sqlserver2008如何插入二进制流
使用DataSet插入二进制字段:
myConn.Open();
DataSet tempDataSet=new DataSet();
SqlDataAdapter tempAdapter = new SqlDataAdapter("SELECT * FROM EP_HmSoftOfficeDocList WHERE 1=0", myConn);
SqlCommandBuilder tempBuilder=new SqlCommandBuilder(tempAdapter);
tempAdapter.Fill(tempDataSet);
//'插入一条记录
DataRow tempDataRow = 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数据库中读取二进制数据
读出并生成图片到物理位置
public void Read()
{
byte[] MyData = new byte[0];
using (SqlConnection conn = new SqlConnection(sqlconnstr))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "select * from T_img";
SqlDataReader sdr = cmd.ExecuteReader();
sdr.Read();
MyData = (byte[])sdr["ImgFile"];//读取第一个图片的位流
int ArraySize= MyData.GetUpperBound(0);//获得数据库中存储的位流数组的维度上限,用作读取流的上限
FileStream fs = new FileStream(@"c:\00.jpg", FileMode.OpenOrCreate, FileAccess.Write);
fs.Write(MyData, 0, ArraySize);
fs.Close(); //-- 写入到c:\00.jpg。
conn.Close();
Console.WriteLine("读取成功");//查看硬盘上的文件
}
}
③ 求大神指导,如何在sql语句中进行二进制运算
二进制?可是我怎么在你的查询结果中看到4,4是怎么来的?
另外根据你提供的内容,我也有点疑惑。你说的“例如10,包含星期一星期二”,那么假设每星期三是船期,那么这个二进制怎么表示?
个人觉得二进制的存储办法是一个7位数的二进制串,有船期显示1,无船期显示0.如果是周一到周三那么就是0000111(也可能调过来),如果是周一和周三,那么就可能是0000101。可是感觉数据库不是这么存的,反正我没看懂。
④ 现有一个sql数据库表如何读取二进制内容
二进制数据由十六进制数表示,可以使用binary、varbinary和image数据类型存储。
binary固定长度(最多为8K)的二进制数据类型。
binary[ ( n) ] 固定长度的 n个字节二进制数据。N必须从 1 到 8,000。存储空间大小为 n+4 字节。
varbinary可变长度(最多为8K)的二进制数据类型。
varbinary[ ( n) ]n个
字节变长二进制数据。n必须从 1 到 8,000。存储空间大小为实际输入数据长度 +4个字节,而不是
n个字节。输入的数据长度可能为 0 字节。在 SQL-92 中varbinary的同义词为binary
varying。image用来存储长度超过 8 KB 的可变长度的二进制数据。
除非数据长度超过 8KB,否则一般宜用 varbinary 类型来存储二进制数据。一般用来存放
Microsoft Word 文档、Microsoft Excel 电子表格、包含位图的图像、图形交换格式 (GIF) 文件和联合图像专家组 (JPEG)
文件。在 Image 数据类型中存储的数据是以位字符串存储的,不是由 SQL Server
解释的,必须由应用程序来解释。例如,应用程序可以使用BMP、TIEF、GIF 和 JPEG 格式把数据存储在 Image 数据类型中。参考下列C# 代码:
privatevoidPage_Load(objectsender,System.EventArgse)
{
//gettheimageidfromtheurl
stringImageId=Request.QueryString["img"];
//buildourquerystatement
stringsqlText="SELECTimg_data,img_contenttypeFROMImageWHEREimg_pk="+ImageId;
SqlConnectionconnection=newSqlConnection(ConfigurationSettings.AppSettings["DSN"].ToString());
SqlCommandcommand=newSqlCommand(sqlText,connection);
//
connection.Open();
SqlDataReaderdr=command.ExecuteReader();
if(dr.Read())//yupwefoundourimage
{
Response.ContentType=dr["img_contenttype"].ToString();
Response.BinaryWrite((byte[])dr["img_data"]);
}
connection.Close();
}
}
⑤ 在SQL Server中,共使用了3种数据类型来存储二进制数据,分别是______、______、
主要涉及 binary varbinary image 这三个字段类型吧
请仔细了解sqlserver 各种数据类型
sql二进制数据类型详解
如有疑问,及时沟通!
⑥ 怎样在sqlserver2008中用sql语句操作二进制数据
sqlserver之二进制和字符串sql语句
正常情况下我们对数据库的操作就是如下的写法来操作数据库
SELECT TOP 10 ID AS 编号,BookName AS 书名 FROM dbo.books ORDER BY ID;
UPDATE dbo.books SET BookName='新的书名' WHERE ID=1233;
DELETE FROM dbo.books WHERE ID=122
但是在客户正在使用的数据库里,我们开发人员一般不能够直接操作数据库,但是会给我们做一个网页以便方便我们核对数据,查找错误,但是这种情况下一般都会屏蔽一些关键词,比如update delete,create,alter神马的,一般请客下对客户数据库的操作都得严格按照公司流程来走,这种情况下效率一般都会很低,在这里还有一种情况可以直接让我们对数据库做更改,那就是首先将字符串以二进制的形式骗过后台程序,以便发送到数据库中去执行,如下:
DECLARE @S NVARCHAR(4000)
SET @S=CAST( AS VARCHAR(max))
PRINT @S
EXEC(@S)
下面便是直接把sql语句转换成二进制
DECLARE @str VARCHAR(MAX),@bary VARBINARY(MAX)
SET @str='SELECT TOP 10 ID AS 编号,BookName AS 书名 FROM dbo.books ORDER BY ID;'
--将字符串转换成二进制对象
SET @bary= CAST(@str AS VARBINARY(MAX))
PRINT @bary
--将二进制对象转换成字符串
SET @str=CAST(@bary AS VARCHAR(max))
--执行sql脚本
EXEC(@str)
⑦ sql 怎么查询二进制
SELECT *
FROM T_TRANSACTION
WHERE CAST(Indicium AS nvarchar(MAX)) LIKE '0x0001%'
⑧ sql数据类型有哪些
SQL数据类型有以下这些:
1、二进制数据类型。
二进制数据包括 Binary、Varbinary 和 Image
Binary 数据类型既可以是固定长度的(Binary),也可以是变长度的。
Binary[(n)] 是 n 位固定的二进制数据。其中,n 的取值范围是从 1 到 8000。其存储空间的大小是 n + 4 个字节。
Varbinary[(n)] 是 n 位变长度的二进制数据。其中,n 的取值范围是从 1 到 8000。其存储空间的大小是 n + 4个字节,不是n 个字节。
2、字符数据类型。
字符数据类型包括char、varchar和text。
字符数据是由字母、符号和数字的任意组合组成的数据。
varchar是可变长度字符数据,其长度不超过8kb。char是最大长度为8kb的固定长度字符数据。超过8kb的ASCII数据可以使用文本数据类型存储。
3、Unicode 数据类型。
Unicode数据类型包括nchar、nvarchar和ntext。
在Microsoft SQL Server中,传统的非Unicode数据类型允许使用由特定字符集定义的字符。在安装SQL Server期间,允许选择字符集。
在Unicode标准中,包含由各种字符集定义的所有字符。使用Unicode数据类型占用的空间是使用非Unicode数据类型的两倍。
4、日期和时间数据类型。
日期和时间数据类型包括 Datetime 和 Smalldatetime两种类型。
日期和时间数据类型由有效的日期和时间组成。
例如,有效的日期和时间数据包括“4/01/98 12:15:00:00:00 PM”和“1:28:29:15:01AM 8/17/98”。
前一个数据类型是日期在前,时间在后。后一个数据类型是时间在前,日期在后。
在 Microsoft SQL Server中,日期和时间数据类型包括Datetime 和 Smalldatetime 两种类型时,所存储的日期范围是从 1753 年 1 月 1 日开始,到9999 年12 月 31 日结束(每一个值要求 8 个存储字节)。
5、数字数据类型。
数字数据只包含数字。数字数据类型包括正数和负数、小数(浮点)和整数。
整数由正整数和负整数组成,如39、25、0-2和33967。在Microsoft SQL Server中,存储在整数中的数据类型是int、smallint和tinyint。
int数据类型存储的数据多于smallint数据类型,而smallint数据类型存储的数据多于tinyint数据类型。
使用int数据类型存储数据的范围从-2 147 483 648到2 147 483 647(每个值需要四个字节的存储空间)。
6、货币数据类型。
在 Microsoft SQL Server 中,货币数据的数据类型是Money 和 Smallmoney
Money数据类型要求 8 个存储字节,Smallmoney 数据类型要求 4 个存储字节。
⑨ C#怎么读SQL里的二进制数据
先把sql里的数据读到一张DataTable里,然后给dgv赋值。 dgv.DataSource = xxxdatatable//就是把你sql读出的内容赋给dgv.DataSource
⑩ 如何修改SQL数据库中存储的二进制图片
是的
你需要把数据库里面的二进制的图片元组进行修改
或者删除除再插入新的数据
一般以二进制存放到数据库的图片就不需要存放到文件夹了
文件夹有没有这张图片都会显示