-2

我试图将 .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。

十分感谢。

4

1 回答 1

0

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

如果您的“插入”语句中有一个带引号的字符串的值子句,那么还有一个参数是没有意义的。考虑以下替代方案:

string qry = "insert into Data values(@var1);";
.
.
.
cmd.Parameters.Add(new SqlParameters(@var1, (object)doc)));


如果“richTextBox.Text”中有文件名,那么它属于你有“fileLoc”的地方。您的代码中没有任何内容表明“fileLoc”如何获取文件名或分配给它的任何其他内容。

于 2013-06-11T05:44:21.943 回答