我写过一个,不过是写sqlserver的,你改改连接串就可以了。我用的是oledb,应该不会有大问题。我的email:[email protected]
解决方案 »
- Frm_Main.SendKeys.Send("{TAB}"); 的问题
- 为什么少data source 求各位仁兄帮助 谢谢
- 用ClickOnce发布以后,要更换服务器,怎么修改??
- gridview绑定问题
- RTF文件内容替换问题
- 新手问题~~~
- I want to save winword.document.content into access database?who could give me code?
- 用.NET做个简单的画图程序为什么这么麻烦!疯了!
- 跪求用C#得到局域网中在线的机器名和IP
- 无法启动调试,返回服务器错的信息。
- 二进制串行化成功,然而反串行化时发生异常,请求指点。
- 简单,亟待解决的问题?
{
if(ofd.ShowDialog()==DialogResult.OK)
{
//txtPath.Text=ofd.FileName;
int kzm=ofd.FileName.LastIndexOf(".");
int wjm=ofd.FileName.LastIndexOf(@"\");
//MessageBox.Show("文件名:"+ofd.FileName.Substring(wjm+1,kzm-wjm-1)+" 扩展名是:"+ofd.FileName.Substring(kzm+1,ofd.FileName.Length-kzm-1));
txtATTFN.Text=ofd.FileName.Substring(wjm+1,kzm-wjm-1);
txtATTType.Text=ofd.FileName.Substring(kzm+1,ofd.FileName.Length-kzm-1);
fs=new FileStream(ofd.FileName,System.IO.FileMode.Open ,System.IO.FileAccess.Read);
txtFileSize.Text =fs.Length.ToString();
txtFdate.Text=System.DateTime.Today.ToShortDateString();//.ToString("yyyy-MM-dd");
MessageBox.Show("请填写附件描述后,按'保存附件'按钮!","添加附件",System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Information);
}
this.btnSave.Enabled=true; } private void btnSave_Click_1(object sender, System.EventArgs e)
{
byte[] fb = new byte[fs.Length];
fs.Read(fb,0,fb.Length);
System.Data.OleDb.OleDbCommand cmd =new System.Data.OleDb.OleDbCommand(); cmd.CommandText=@"INSERT INTO tblFujian(fileName, ContentType, fileDes, fileDate, ContentLength, accName, username, ImageBinary) VALUES (?, ?, ?, ?, ?, ?, ?, ?); SELECT ID AS 附件编号, fileName AS 文件名, ContentType AS 文件类型, fileDes AS 附件描述, fileDate AS 最后更新时间, ContentLength AS 文件长度, accName AS 客户名称, username AS 用户, ImageBinary AS 附件内容 FROM tblFujian WHERE (ID = @@IDENTITY)";
System.Data.OleDb.OleDbParameter p1=new System.Data.OleDb.OleDbParameter("fileName", System.Data.OleDb.OleDbType.VarWChar, 50, "文件名");
p1.Value=txtATTFN.Text.Trim();
System.Data.OleDb.OleDbParameter p2=new System.Data.OleDb.OleDbParameter("ContentType", System.Data.OleDb.OleDbType.VarChar, 25, "文件类型");
p2.Value =txtATTType.Text ;
System.Data.OleDb.OleDbParameter p3=new System.Data.OleDb.OleDbParameter("fileDes", System.Data.OleDb.OleDbType.VarChar, 50, "附件描述");
p3.Value=rtFileDes.Text ;
System.Data.OleDb.OleDbParameter p4=new System.Data.OleDb.OleDbParameter("fileDate", System.Data.OleDb.OleDbType.VarChar, 10, "最后更新时间");
p4.Value=txtFdate.Text ;
System.Data.OleDb.OleDbParameter p5=new System.Data.OleDb.OleDbParameter("ContentLength", System.Data.OleDb.OleDbType.BigInt, 8, "文件长度");
p5.Value=int.Parse(txtFileSize.Text);
System.Data.OleDb.OleDbParameter p6=new System.Data.OleDb.OleDbParameter("accName", System.Data.OleDb.OleDbType.VarChar, 50, "客户名称");
p6.Value=this.myAccName ;
System.Data.OleDb.OleDbParameter p7=new System.Data.OleDb.OleDbParameter("username", System.Data.OleDb.OleDbType.VarChar, 10, "用户");
p7.Value=this.frm.username ;//txtuser.Text ;
System.Data.OleDb.OleDbParameter p8=new System.Data.OleDb.OleDbParameter("ImageBinary",System.Data.OleDb.OleDbType.VarBinary,2147483647,"附件内容");
p8.Value=fb;
cmd.Parameters.Add(p1);
cmd.Parameters.Add(p2);
cmd.Parameters.Add(p3);
cmd.Parameters.Add(p4);
cmd.Parameters.Add(p5);
cmd.Parameters.Add(p6);
cmd.Parameters.Add(p7);
cmd.Parameters.Add(p8);
cmd.Connection=this.kconn;
//conn.Open();
try
{
cmd.ExecuteNonQuery();
//conn.Close();
MessageBox.Show("附件已经保存入数据库中!","Esse CRM",System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Information);
try
{
this.ds_att.Clear();
this.da_att.Fill(this.ds_att,"att");
}
catch(Exception err)
{
MessageBox.Show("发生错误!错误内容为:"+err.Message ,"发生错误",System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Error );
}
}
catch(Exception err)
{
MessageBox.Show("发生错误!错误内容为:"+err.Message ,"发生错误",System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Error );
}
this.btnSave.Enabled=false; }
我这个程序是要填写一些关于文件的说明,所以要分成两个按钮,你改成一个就行了,区分文件的文件名和扩展名是为了读取时用的,你可以去掉。别忘了给分!
使用stream读取道byte[]然后把byte[]存到数据库
请写详细代码!!!
你稍改一下就可以实现你的功能了要的话到上面留言,写下你的mail