我在做一个 窗体 上面有2个BUTTON 一个TEXTBOX
点击后BUTTON 1 选择文件调用对话框
选择文件后 textbox内显示文件地址
点BUTTON 2添加将文件(*.doc)添加到数据库中!!!
请问需要做那些工作才能完成此项功能???
有没有QQ交流群?
[此贴子已经被作者于2007-8-20 8:51:39编辑过]
看了一段代码:
//保存文件到SQL Server数据库中
FileInfo fi=new FileInfo(fileName);
FileStream fs=fi.OpenRead();
byte[] bytes=new byte[fs.Length];
fs.Read(bytes,0,Convert.ToInt32(fs.Length));
SqlCommand cm=new SqlCommand();
cm.Connection=cn;
cm.CommandType=CommandType.Text;
if(cn.State==0) cn.Open();
cm.CommandText="insert into "+tableName+"("+fieldName+") values(@file)";
SqlParameter spFile=new SqlParameter("@file",SqlDbType.Image);
spFile.Value=bytes;
cm.Parameters.Add(spFile);
cm.ExecuteNonQuery()
其中 cm.Connection=cn;
中的cn不明白是什么意思!
还有 cm.CommandText="insert into "+tableName+"("+fieldName+") values(@file)";
中的 " 符号 划分的定义!
public void ImageStored(Object sender,EventArgs e)
{
Stream imgdatastream = File1.PostedFile.InputStream;
int imgdatalen = File1.PostedFile.ContentLength;
string imgtype = File1.PostedFile.ContentType;
string imgtitle = TextBox1.Text;
byte[] imgdata = new byte[imgdatalen];
int n = imgdatastream.Read(imgdata,0,imgdatalen);
//string connstr="server=(local);database=ImageStore;Trusted_Connection=yes";
SqlConnection connection = new SqlConnection(CWMis.FinanceApp.Base.strConnection);
//SqlConnection connection = new SqlConnection(connstr);
SqlCommand command = new SqlCommand("INSERT INTO ImgStore(imgtitle,imgtype,imgdata)VALUES ( @imgtitle, @imgtype,@imgdata )", connection );
SqlParameter paramTitle = new SqlParameter("@imgtitle", SqlDbType.VarChar,50 );
paramTitle.Value = imgtitle;
command.Parameters.Add( paramTitle);
SqlParameter paramData = new SqlParameter( "@imgdata", SqlDbType.Image );
paramData.Value = imgdata;
command.Parameters.Add( paramData );
SqlParameter paramType = new SqlParameter( "@imgtype", SqlDbType.VarChar,50 );
paramType.Value = imgtype;
command.Parameters.Add( paramType );
connection.Open();
int numRowsAffected = command.ExecuteNonQuery();
connection.Close();
}
这段代码中 我要同时把openFileDialog读取的文件的 (文件名,文件大小,文件类型,文件内容,)INSERT 到数据库中相应的表中,不过上面代码有问题 调不通,帮我看看~