传输内容应该是一堆浮点数
byte[]里是二进制,怎么插入到数据库里去??C使用fread(,,float(32))即可将浮点数读出。求具体代码。======
下面是我的代码:private void down(ref NetworkStream stream)
{
            int length = 1024;
            int iter;
byte[] bye=new byte[1024];
            
int tt=stream.Read(bye,0,length);
            
            /*for (iter = 0; iter < bye.Length; iter += 4)//每四个字节转化为32位浮点再插入数据库,但是插入的是错的            {
                cn.Open();
                Single dat = BitConverter.ToSingle(bye, iter);                SqlCommand cmd = new SqlCommand("insert into test (Value) values ('" + dat + "')", cn);
                cmd.ExecuteNonQuery();
                cn.Close();
                
            }*/ //下行循环读取网络流并写进文件
while(tt>0)

   
   string ss=System.Text.Encoding.ASCII.GetString(bye);
   int x=ss.IndexOf("<EOF>"); if(x!=-1)
{

filestream.Write(bye,0,x);
filestream.Flush();
break;
}
else
{
filestream.Write(bye,0,tt);
filestream.Flush();
}
tt=stream.Read(bye,0,length);
 
}//对用于while(!control)的“{”

filestream.Close();
 
 
MessageBox.Show("下载完毕!");
 
}

解决方案 »

  1.   

    byte[]里是二进制,怎么插入到数据库里去?? 数据库里面也可以存储用BINARY类型的字段
      

  2.   

    byte[]里是传输过来的二进制流
    我把它八个字节八个字节的提取,用ToDouble转化,但是还是错的,     /*for (iter = 0; iter < bye.Length; iter += 8)//每八个字节转化为32位浮点再插入数据库,但是插入的是错的             { 
                    cn.Open(); 
                    double dat = BitConverter.ToDouble(bye, iter);                 SqlCommand cmd = new SqlCommand("insert into test (Value) values ('" + dat + "')", cn); 
                    cmd.ExecuteNonQuery(); 
                    cn.Close(); 
                    
                }*/
      

  3.   

    直接把文件转成二进制存到数据库就是了
    数据库字段类型是image