向C# winform 的DataDridView 导入数据库文件的步骤是怎样的?(就是把一个信息表添加进去)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了向C# winform 的DataDridView 导入数据库文件的步骤是怎样的?(就是把一个信息表添加进去)相关的知识,希望对你有一定的参考价值。

1.应该叫做DataGridView 吧,呵呵
2.导入数据就是第一步你要查询数据库;第二步就是要通过查询的数据库得到一个DataSet或者得到一个DataTable,然后赋值给DataGridView 的一个属性,然后运行即可
参考技术A 首先、你得有数据库、然后把数据库里的内容放到datatable里、然后把datatable里的内容、放到DataGridView 就行、一般查是用个类、然后直接在命令里做就行、 参考技术B 设置数据源吗?datasource

在C# winform中使用 richtextbox 向access保存及读取 图文混排数据(有源码,帮忙改一下)

情况:我现有ACCESS数据库ziliao 里面有"OLE对象“型字段bbb
目标:使用richTextBox向数据库保存及读取图文混排数据
我现在使用的代码:
我使用数据库操作类进行数据库操作,如下
public static int ExecuteSql(string SQLString)

using (OleDbConnection connection = new OleDbConnection(connectionString))

using (OleDbCommand cmd = new OleDbCommand(SQLString, connection))

try

connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows; //>0代表执行成功 =0执行失败(没有添加数据)

catch (System.Data.OleDb.OleDbException E)

connection.Close();
throw new Exception(E.Message);




从网上找到了保存用的代码
保存
private void button2_Click(object sender, EventArgs e)
string mdbPath = System.IO.Path.Combine(Application.StartupPath, "rtf.mdb");
string connectionString = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + mdbPath;
using (OleDbConnection cn = new OleDbConnection(connectionString))
cn.Open();
using (OleDbCommand cmd = new OleDbCommand("INSERT INTO [demo] (rtf) VALUES (@rtf)", cn))
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())

rtbDemo.SaveFile(ms, RichTextBoxStreamType.RichText);
cmd.Parameters.Add("@rtf", OleDbType.VarBinary);
cmd.Parameters["@rtf"].Value = ms.ToArray();
cmd.ExecuteNonQuery();



cn.Close();


MessageBox.Show("保存成功!");

读取:
private void button3_Click(object sender, EventArgs e)
string mdbPath = System.IO.Path.Combine(Application.StartupPath, "rtf.mdb");
string connectionString = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + mdbPath;
using (OleDbConnection cn = new OleDbConnection(connectionString))
cn.Open();
using (OleDbCommand cmd = new OleDbCommand("SELECT TOP 1 rtf FROM [demo] ORDER BY [id] desc", cn))
byte[] btRTF = (byte[])cmd.ExecuteScalar();
if (btRTF == null)
MessageBox.Show("数据库中目前没有数据,请先存入!");

else
using (System.IO.MemoryStream ms = new System.IO.MemoryStream(btRTF))
rtbDemo.LoadFile(ms, RichTextBoxStreamType.RichText);




cn.Close();


请根据我使用的类改造一下保存及读取代码,谢(另个提问分也给你)
我在这里
http://zhidao.baidu.com/question/279279469.html
也问了相同的问题,如果问题解决的话,请您也到此处回答一下,好让我处理两个提问的分数

先重载方法,前一个是Sql,后一个是Sql参数集合
插入方法:
public static int ExecuteSql(string SQLString,OleDbParameterCollection parms)

using (OleDbConnection connection = new OleDbConnection(connectionString))

connection.Open();
using (OleDbCommand cmd = new OleDbCommand(SQLString, connection))

cmd.Parameters.AddRange(parms);
cmd.ExecuteNonQuery();

connection.Close();


读取方法:
public object SqlRead(string sqlstring)

using (OleDbConnection cn = new OleDbConnection(connectionString))

cn.Open();
using (OleDbCommand cmd = new OleDbCommand(sqlstring, cn))

object obj=cmd.ExecuteScalar();
if (obj == null)

MessageBox.Show("数据库中目前没有数据,请先存入!");

else

return obj;


cn.Close();


上面两个方法呢,写到你的那个啥类里面的
调用的时候呢,就
插入:
System.IO.MemoryStream ms = new System.IO.MemoryStream();
this.richTextBox1.SaveFile(ms, RichTextBoxStreamType.RichText);
OleDbParameterCollection param= new OleDbParameterCollection();
param.Add(new OleDbParameter("@rtf",ms));
XX类的.ExecuteSql("insert into [demo] (rtf) values (@rtf)",param);
读取
byte[] buff=(byte[])XX类的.SqlRead("select top 1 rtf from [demo] order by [id] desc");
System.IO.MemoryStream ms = new System.IO.MemoryStream(btRTF);
rtbDemo.LoadFile(ms, RichTextBoxStreamType.RichText);

其中XX类是你那个啥类
参考技术A 数据是用什么方式写进去的呢? 参考技术B 已经发到你的邮箱,请查收。

以上是关于向C# winform 的DataDridView 导入数据库文件的步骤是怎样的?(就是把一个信息表添加进去)的主要内容,如果未能解决你的问题,请参考以下文章

c# winform 向用户显示具有指定所有者的窗体

C# winform:我要向 一张图片中添加文字,添加文字后直接展示,不保存图片,直接展示

向各位求c# winform 窗体皮肤控件、皮肤、和使用方法,269607488@qq.com 万分感激

C# winform程序中如何向datagridview中添加一行

在C# winform中使用 richtextbox 向access保存及读取 图文混排数据(有源码,帮忙改一下)

c# wpf和winform有啥区别吗?wpf能使用串口吗