本帖最后由 andy1020tc 于 2012-03-10 22:55:38 编辑

解决方案 »

  1.   

    lz可以使用FileStream流进行读写,关于具体如何使用,lz看看帮助就很容易实现了
      

  2.   

    filestream 我都进去 全是?之类的 不是二进制数据啊
    你看我的代码ofd.Title = "*txt|*.txt|*.doc|*.docx";
                if (ofd.ShowDialog() == DialogResult.OK)
                {
                    string fullpath = ofd.FileName;//文件路径
                      FileStream fs = new FileStream(fullpath, FileMode.Open);
                    //BinaryReader br = new BinaryReader(fs);
                    StreamReader sr = new StreamReader(fs);
                    string txt = sr.ReadToEnd();
                    //打开数据库
                    string server = @".\SQLEXPRESS";
                    string conStr = string.Format("server={0};uid={1};pwd={2};database={3}",
                                    server, "sa", "123", "TestDB");
                    SqlConnection con = new SqlConnection(conStr);
                    try
                    {
                        con.Open();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.ToString());
                    }
                    SqlCommand com = new SqlCommand("insert into Text values(@TextList)", con);                com.Parameters.Add("TextList", SqlDbType.Text);                com.Parameters["TextList"].Value = txt;                com.ExecuteNonQuery();                con.Close();
                }
      

  3.   

    Text字段类型怎么会显示<二进制数据>呢?
      

  4.   

    那我应该有什么类型的呢?还是说就用TEXT类型 保存我说的数据
    除了image类型 还有什么类型我能用?
      

  5.   

    希望能帮倒你
    //这个Paths是文件路径比如说 D:/test.txt
    var Rbytes = File.ReadAllBytes(Paths); //把txt文件的内容读取出来给Rbytesvar db = datetable(Rbytes);
    foreach (var t in db )
    {
       Info.Text = t;
    }
      

  6.   


    如果你是全文本的,直接使用Text类型就好。
    我看到你的"*txt|*.txt|*.doc|*.docx";如果是doc文档,就有可能包含图片了,
    你可以用varbinary(MAX)
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("读取文件");
                byte[] buffer;
                using (FileStream fs = new FileStream(@"D:\Test.docx", FileMode.Open, FileAccess.Read))
                {
                    buffer = new byte[fs.Length];
                    fs.Read(buffer, 0, buffer.Length);
                }
                            using(SqlConnection sqlCn=new SqlConnection(
                    "Data Source=...; Initial Catalog=...; User Id=...; Password=..."))
                using (SqlCommand sqlCmd = sqlCn.CreateCommand())
                {
                    Console.WriteLine("写入数据库");
                    sqlCmd.CommandText = "insert into Table_1(Text) values(@Text)";
                    sqlCmd.Parameters.Add("@Text", System.Data.SqlDbType.Binary, int.MaxValue).Value = buffer;
                    sqlCn.Open();
                    sqlCmd.ExecuteNonQuery();                Console.WriteLine("从数据库查出来");
                    sqlCmd.CommandText = "select top 1 Text from Table_1";
                    object value = sqlCmd.ExecuteScalar();
                    buffer = (byte[])value;
                }            Console.WriteLine("写入文件");
                using (FileStream fs = new FileStream(@"D:\Test1.docx", FileMode.OpenOrCreate, FileAccess.Write))
                {
                    fs.Write(buffer, 0, buffer.Length);
                }            Console.ReadLine();
            }
        }
      

  7.   

    LZ一会存储类型text一会又和二进制流扯上关系,到底你要怎么存储
      

  8.   

    最初只是想把txt文档保存到数据库中
    但是text类型又不行 现在知道了 可以用arbitrary类型