我试图将.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。
非常感谢你。
答案 0 :(得分:0)
没有源自richTextBox.Text的数据。您正在从文件中填充名为“doc”的变量。
如果在'insert'语句中有一个带有带引号的字符串的Values子句,那么也没有一个参数。考虑以下替代方案:
string qry =“插入数据值(@ var1);”;
。
。
。
cmd.Parameters.Add(new SqlParameters(@ var1,(object)doc)));
如果“richTextBox.Text”中包含文件的名称,那么它属于“fileLoc”所在的位置。代码中没有任何内容表明“fileLoc”如何获取文件名或分配给它的任何其他内容。