首先看一下最终效果(显示数据进行了加密,所以成了乱码)
图1窗体的效果
图2点击预览时的效果
1创建显示报表的窗体
新建窗体命名为ReportForm并修改窗体名为学生成绩
在窗体上只需要拖放一个ReportViewer 控件
2新建数据集为DSofStudentxsd
在数据集中插入要显示在报表中的表结构(本例为此,注意: 字段名必须和要传向报表的数据表DataTable吻合)
3插入报表并命名为StudentReport
新建完成后在报表页面右击插入表,在此选中刚创建的数据集中的表,如下图
然后设置表头\表头的背景色\绑定显示字段,如下图
这里说一下如何设置每行显示的颜色
此处选择设置背景为表达式: =iif(Fields!GradeValue = 0,"Red", "GreenYellow") 意思是如果Grade为0则显示红色,否则为黄绿色。
4 传入数据
在窗体中的ReportViewer控件中选择报表源,如下
接下来在初始化该窗体时,传入要显示的表的内容
DataSet ds = new DataSet();
ds = stuGetStudentList2(sschoolname, sclassname)(传入自己要显示的数据集即可);
thisreportViewer1LocalReportDataSourcesClear();
thisreportViewer1LocalReportDataSourcesAdd(new MicrosoftReportingWinFormsReportDataSource("StuGrade", dsTables[0]));
thisreportViewer1RefreshReport();
综上,VS2010的报表自定义数据源的创建和使用写完了。
如有不完善的地方,请各位提提建议,本人进行完善。
通过insert into 语句就可以了。
dim str as string
str=insert into (字段1,字段2) values (‘" & me控件1 &"’,‘" & me控件2 &"’)
docmdrunsql str
这样就可以了
你最好使用数据库感知控件,DBEDIT等等,如果你使用普通控件,要多写一些代码,看样子你对数据库 *** 作不太熟悉,应该多读一些基础的书。
1你如果用数据库感知控件,保存的时候用post直接提交。如果用普通控件,你需要把edittext值赋给字段再post提交
2DM做公用数据模块,你需要在调用的子窗里引用就行了,uses DM;
3,关于“怎样做才能把子窗口的数据录到父窗口的DBGrid里?”这个问题,一般这样解决,在子窗体做一个向数据库里录入的功能,保存以后,父窗体重新查询一下。
假设你用的是SQL数据,服务器在名为server机器上,SQL服务器用户名Sa,密码:123,表名为manager,表字段为你图上显示的五个字段(账号,姓名,姓别,年龄,****),那么你确定按扭单击事件里可以这样写(要包含命名空间using SystemDate;using SystemDataSqlClient)
{
SqlConnection SqlConn = New SqlConnection(""Data Source=server;Initial Catalog=manager;Persist Security Info=True;User ID=sa;Password=123);
string str="insert into manager(账号,姓名,姓别,年龄,****) values('"+账号textboxtext+"','"+姓名textboxtext+"','"+姓别textboxtext+"','"+年龄textboxtext+"','"+****textboxtext+"')";/注意中间的单双引号/
SqlCommand SqlCmd = New SqlCommand(str, SqlConn);
SqlConn Open();
SqlCmd ExecuteNonQuery();
SqlConn close();
}
正常的话这样就可以插入数据了
当你建好了数据库及表时 你首先想到的就是向数据库的表中输入数据 这就牵涉到如何向数据库增加数据 下面我们就来探讨一下这个问题: 一般我们常用的方法是insert语句(这里假定各位的版本都不是很低) 她有以下几种形式:insert into tablename values(value value )insert into tablename(fieldname fieldname ) values(value value )insert into tablename set fieldname =value fieldname =value insert into tablename(fieldname fieldname ) select fieldname fieldname from tablename 以上基本上罗列了用insert插入数据的方法 当然你也可以用insert语句将几行同时插入到一个表中 如下所示:insert into tablename values( ) ( ) 在mysql运行环境下 我们还可以用LOAD DATA 语句把文件里面的数据读取录入到表里面 一般来讲 因为此文件是由服务器在主机上直接读取的 所以你必须具有file权限且文件必须是完全可读 当你版本够新的话 你可以给出local 这样由于你是从客户机上读取该文件并将内容传送到服务器 你就不需要file权限 如果你没有给出local 则服务器按如下方法对其进行定位: )如果你的filename为绝对路径 则服务器从根目录开始查找该文件 )如果你的filename为相对路径 则服务器从数据库的数据目录中开始查找该文件 如果你给出了local 则文件将按以下方式进行定位: )如果你的filename为绝对路径 则客户机从根目录开始查找该文件 )如果你的filename为相对路径 则客户机从当前目录开始查找该文件 说了半天 也许你还不明白这具体的格式 看下面先:LOAD DATA [LOCAL] INFILE filename into table tablename import_options [(fieldname_list)]import options的语法为:fieldsterminated by char enclosed by char escaped by char linesterminated by string 下面我们对其进行一些说明: )fields terminated by char 指定分隔列的字符.缺省时假定列值由制表符分隔. )fields enclosed by char 指明列值应包括在指定的字符中.通常用引号.缺省时 假定列值不包括在任何字符中. )fields escaped by char 表示用于转义特殊字符的转义符.缺省时表示无转义符 )lindes escaped by string 指定结束输入行的串(可以是多字符的).缺省时假定由换行符终止行需要注意的是转义字符的使用 如:\ 表示单引号 \ 表示双引号 等等 另外还有一些选项这里没有具体谈到 如 ignore n lines 她可以控制文件的前n行不被读入数据库 详细请看mysql中文参考 说了上面这么多 给一行命令大家具体体会一下:load data [local] infile sample txt into table sample fields terminated by enclosed by \ 在系统命令行下你可以用mysqlimport实用程序 她将文本文件的内容读取到已有表中(其实mysqlimport起的作用就是实现load data命令行的接口) 调用完mysqlimport后她生成一个load data 语句 语法基本上和load data差不多:mysqlimport [options] sample_db filename同样 给条命令看一下吧:mysqlimport Cu root [ local] Cfields terminated by= fields enclosed by= \ samp_db samp_table txt(REMARK:此语句中samp_db为指定的数据库 要录入数据的表由文件名参数确定 文件名去掉其任何扩展名 留下的就是表名 所以此语句中录入数据的表名为samp_table 也就是说在执行这条语句时首先应该肯定表samp_table存在 另外如果你有多个文件需要装入同一个表里 你可以用samp_table n txt来处理) lishixinzhi/Article/program/MySQL/201311/29349
以上就是关于将窗体和报表导入数据库的步骤全部的内容,包括:将窗体和报表导入数据库的步骤、access创建窗体后如何在数据库里添加内容、delphi如何实现窗口添加数据到数据库里等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)