空路径名称不合法

时间:2013-06-11 04:12:27

标签: c#

我试图将.txt文件保存到我的数据库,但我继续得到上述错误,我已经尝试了很多,但只是无法解决它。数据库表=数据。即时通讯使用SqlServer。 fileloc是一个字符串

private void button2_Click(object sender, EventArgs e)
    {

    try
      {
           fileloc = textBox1.Text;
            byte[] doc = null;
            FileStream fs = new FileStream(fileloc, FileMode.Open, FileAccess.Read);
           BinaryReader br = new BinaryReader(fs);
            doc = br.ReadBytes((int)fs.Length);
            string qry = "insert into Data values(@Data)";
                if ( con.State != ConnectionState.Open)
                    con.Open();
                        cmd = new SqlCommand(qry, con);
                      cmd.Parameters.Add(new SqlParameter("@Data", (object)doc));
         int row = cmd.ExecuteNonQuery();
                        if (row > 0)
                        {
                            MessageBox.Show("Doc Added", "Message");
                        }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }


    }

我进行了编辑,但仍然遇到了同样的错误。

数据库连接

        SqlConnection con = new SqlConnection("Data Source=sochellespencer\\sqlexpress;Initial Catalog=AscottHighSchool;Integrated Security=True");

我解决了这个问题。

我将文件位置放入一个文本框,然后将其传递给fileloc。

非常感谢你。

1 个答案:

答案 0 :(得分:0)

没有源自richTextBox.Text的数据。您正在从文件中填充名为“doc”的变量。

如果在'insert'语句中有一个带有带引号的字符串的Values子句,那么也没有一个参数。考虑以下替代方案:

string qry =“插入数据值(@ var1);”;



cmd.Parameters.Add(new SqlParameters(@ var1,(object)doc)));


如果“richTextBox.Text”中包含文件的名称,那么它属于“fileLoc”所在的位置。代码中没有任何内容表明“fileLoc”如何获取文件名或分配给它的任何其他内容。