数组数据
1,2,3,4,5,6,7,8
1,2,3,4,5,6,7,8
1,2,3,4,5,6,7,8(假设每次插入的时候数组的值都是一样的)上面假设是我数据里某个字段所插入的值,所插入的是数组byte[] a=new byte[8]的值 ,我是用string s +=a[i]的形式将数组元素拼成字符串的形式插入的,所以数据表的每个字段都是字符串的形式(如上表所示)那么请问我如何将数据表里的“数组数据”这个字段的所有字符串都取出来?并将其赋值给一个数组(数组b(byte型))?最后在datagridview上显示呢?(该控件上只要显示由数组的几个元素组成的数据,如:只需b[1]和b[2]组成的元素)我的代码如下: SQLiteConnection con = new SQLiteConnection();
SQLiteCommand cmd = new SQLiteCommand(); con.ConnectionString = "Data Source=" + databaseFileName;
cmd.Connection = con;
con.Open();
SQLiteDataAdapter da = new SQLiteDataAdapter("select 数据数组 from mes ", con);
DataSet ds = new DataSet();
da.Fill(ds, "mes");
for (int index = ds.Tables[0].Rows.Count - 1; index >= 0; index--)///将数据库里的数据取出来
{
s1 = ds.Tables[0].Rows[0]["数据数组"].ToString(); }
上诉代码我只实现了将数据表里的所有行的字符串都取出来赋值给了s1,但是如何将s1赋给一个byte型的数组b和在datagridview控件上显示的代码不知道咋写????请大侠们指教。。
1,2,3,4,5,6,7,8
1,2,3,4,5,6,7,8
1,2,3,4,5,6,7,8(假设每次插入的时候数组的值都是一样的)上面假设是我数据里某个字段所插入的值,所插入的是数组byte[] a=new byte[8]的值 ,我是用string s +=a[i]的形式将数组元素拼成字符串的形式插入的,所以数据表的每个字段都是字符串的形式(如上表所示)那么请问我如何将数据表里的“数组数据”这个字段的所有字符串都取出来?并将其赋值给一个数组(数组b(byte型))?最后在datagridview上显示呢?(该控件上只要显示由数组的几个元素组成的数据,如:只需b[1]和b[2]组成的元素)我的代码如下: SQLiteConnection con = new SQLiteConnection();
SQLiteCommand cmd = new SQLiteCommand(); con.ConnectionString = "Data Source=" + databaseFileName;
cmd.Connection = con;
con.Open();
SQLiteDataAdapter da = new SQLiteDataAdapter("select 数据数组 from mes ", con);
DataSet ds = new DataSet();
da.Fill(ds, "mes");
for (int index = ds.Tables[0].Rows.Count - 1; index >= 0; index--)///将数据库里的数据取出来
{
s1 = ds.Tables[0].Rows[0]["数据数组"].ToString(); }
上诉代码我只实现了将数据表里的所有行的字符串都取出来赋值给了s1,但是如何将s1赋给一个byte型的数组b和在datagridview控件上显示的代码不知道咋写????请大侠们指教。。
解决方案 »
- 非接触读卡器的等待读卡那种状态如何实现的呢?
- C# 访问Access数据库的问题..
- 问个从数据库里读取信息的问题
- 谁能告诉我.NET代码生成器怎么用啊?最简单的 能连到数据库就行。我用这个生成,总有错误呢。5555555555
- vshirleyzhxl接分
- 求助 关于C++ 的 IDCARD_ALL & card 参数如何在C#中调用
- web的treeview怎么添加事件,要详细代码。
- 请问,Thread.CurrentThread.CurrentCulture是根据运行的服务器的不同而不同吗?
- c#如何调试呢??逐步调式时 为什么不能进入.net类库呢??
- C#中如何创建IE的WebBrowser,或哪有相关的控件
- C# 获取mac
- Application.Run(new Form1()); 这句报argumentnullexception,多线程
接着就是保存时,直接传递byte[]数据保存,不要做任何转换。
读取时直接用byte[]变量接收那个列的数据。
要显示就调用如下函数来显示:
/// <summary>
/// 普通方法——字节数组转字符串,最容易想到
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static string BytesToString(byte[] input)
{
StringBuilder sb = new StringBuilder();
foreach (byte b in input)
{
sb.Append(b.ToString("X2"));
}
return sb.ToString();
}
{
CH372_Saved_Wave[i] = (byte)i; ///这个是我的byte数组
s += System.Convert.ToString(CH372_Saved_Wave[i], 2)+"," ///转换成二进制
}cmd.CommandText = "insert into mes (坐标数组)values('"+ s1 + "')";///以二进制的形式将数组插入到数据库里我现在将数据库字段的类型改成image型了,这样可以吗???
若可以的话,那我怎么将数据库里的数据取出来再赋给一个byte数组呢????
cmd.CommandText = "insert into mes (坐标数组)values(@bytes)";
cmd.Parameters.Add("@bytes",CH372_Saved_Wave);至于读取,由于数据类型对应的就是byte[],只要将object类型强制类型转换下即可。
CH372_Saved_Wave = (byte[])ds.Tables[0].Rows[0]["数据数组"]