基于C#的ASP.NET如何将一个字符串写入sql server数据库中 binary(16)字段

基于C#的ASP.NET如何将一个字符串写入sqlserver数据库中binary(16)字段System.InvalidCastException:从System.St... 基于C#的ASP.NET如何将一个字符串写入sql server数据库中 binary(16)字段
System.InvalidCastException: 从 System.String 到 System.Byte[] 的转换无效。
展开
 我来答
匿名用户
2008-02-26
展开全部
private void button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(strConnection);//strConnection为连接串自己写
byte[] binaryData = System.IO.File.ReadAllBytes("my.jpg");
//要存入的二进制数据,这里读出的是D:\\my.jpg图片的二进制数据
SqlCommand cmd = conn.CreateCommand();
//建立数据库连接
cmd.CommandText = "INSERT INTO Test (binaryData, SubTitle)"
+ " values ( @binaryData, @SubTitle)";
//要插入的值用占位符代替,其中@binaryData这样的就是占位符,就是这样写的,无论在什么语言中(好像是PLSQL里面就要这么写)
conn.Open();
cmd.Parameters.Add("@binaryData", SqlDbType.Binary, 100);
//设置占位符的数据类型SqlDbType类中包含了各种sqlsver的数据类型
//Add方法有多种重载,写法不唯一
cmd.Parameters.Add("@SubTitle", SqlDbType.NVarChar, 50);
cmd.Parameters["@binaryData"].value = binaryData;
cmd.Parameters["@SubTitle"].value=“字符串”

try
{
cmd.ExecuteNonQuery();//执行SQL语句
}
catch (Exception ex)
{
//输出异常
}
finally
{
conn.Close();
}
}
pengjianhang
2008-02-26 · TA获得超过296个赞
知道小有建树答主
回答量:380
采纳率:0%
帮助的人:368万
展开全部
你可以先把字符串转换成 Byte 类型的数组,然后就可以保存到数据库了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xx_lzj
2008-02-29 · TA获得超过970个赞
知道大有可为答主
回答量:578
采纳率:0%
帮助的人:731万
展开全部
转换为双字节byte[2],即只能一个字符,超长不行。
**********************************
转换方法:
byte[] b = BitConverter.GetBytes(str[0]);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式