| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 13376 人关注过本帖, 1 人收藏
标题:我的c#+winform+sql server数据库开发
取消只看楼主 加入收藏
songssong
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-12-18
收藏
得分:0 
接着谈数据库。我看过一些数据库设计工具的介绍,什么实体,我不想研究那么多。我最近用一个财务软件,使用的是Paradox数据库。今天出现一次索引错误。在网上查,一个下午看到的帖子都是2003年前的。下一个修复工具也是csdn上04年的。为什么很久以前的技术现在还在用呀???
我的理解。新东西给你带来便捷那你就去学习,老东西不是没有用。最近网上查看资料,常看到“什么什么语言不行”,“什么什么语言强”。还拿出什么比较表格。真不知道那人是不是专家。脚本语言远远比不上java ,c, c++.但已占据半壁江山。
看看TIOBE世界 网址
http://www.

不说那么多没用的。

说说我的数据库设计。就以我写的这个程序为例吧。
单据要有单据头:日期呀、操作员呀、单据号呀、货品所在地呀,干什么用呀,客户呀
这些信息要存放到数据库中,那就用一个汇总表吧。
单据还有明细数据:品名呀、编号呀、规格呀、产地呀,数量呀
这些信息也要存在数据库中,那也用一个表吧,叫明细表。
汇总同明细都用单据号来对应。
表都要有主健,明细中要加入序列号用来区分。

我所见过的数据库方面的表都是这样。

今天好困明天再写吧

2012-01-12 22:26
songssong
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-12-18
收藏
得分:0 
刚看了,c#使用的人又增加了不少。

图片附件: 游客没有浏览图片的权限,请 登录注册

2012-01-12 22:30
songssong
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-12-18
收藏
得分:0 
现在数据库中还没有数据。我们要向数据库中存入数据。我还是使用 由于我比较懒惰,所以把
窗体写好,搞了几个过程,不同的窗体继承一下,加入不同的控件,override 改写一下存入方法、打印方法。还有几个sql语句。当然要设好新的数据库表。
就这样一个基于数据库的系统就完成了大部分了。
至于查询,编辑,我也是这样。在引用的exe方件中我事先写好了窗体。
一开始。关了查询想写个导出到excel的方法,可是后来发现。
DataGridView控件可以带字段头粘贴。

图片附件: 游客没有浏览图片的权限,请 登录注册



选中所有ctrl+c   
excel中选择性粘贴

图片附件: 游客没有浏览图片的权限,请 登录注册


图片附件: 游客没有浏览图片的权限,请 登录注册


图片附件: 游客没有浏览图片的权限,请 登录注册



2012-01-16 20:50
songssong
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-12-18
收藏
得分:0 
DataGridView控件
真是个好东西。
在网上你可以找到他的基本用法。想要更深入的那就msdn吧。

这个控件,我用起来感觉非常棒。
唯一的缺陷是不能多层表头。
当然网上也有人去画。好象可以实现。不过我下了一两个感觉效果不好。
我对GDI+研究不多。所以也写不好这个东西,在这里还是想请高好给一个方便使用的画的好的
DataGridView控件
2012-01-16 20:58
songssong
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-12-18
收藏
得分:0 
明天谈谈话 打印----ReportViewer2005.微软自家的rdlc报表。
2012-01-16 21:00
songssong
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-12-18
收藏
得分:0 
回复 22楼 loplee
我的方法是从Dataset 的Datatable做起。你的想法我去试过。是可以的。不过我是把构建sql语句写也一个函数。
我感觉还是这样好。把sql 语句改写.在这里也就多写几个 字段 as 别名。
2012-02-12 19:03
songssong
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-12-18
收藏
得分:0 
找了下csdn中有现成的。我也是这相思路。

将DataTable的字段名全部翻译为中文并返回 .
2010-02-24 15:54 293人阅读 评论(0) 收藏 举报
一般在代码里想要查询并显示出一个DataTable很容易,只要将查询到的DataTable作为某个控件的DataSource就OK了,但是此DataTable的字段全部都为英文字段,怎样将其全部改为中文呢?

 

现在我已经知道各个英文字段的中文名称,且字段的翻译信息全部存为一张表,叫字段说明表(COLUMNTRANSLATION),建此表的SQL语句为:

create table COLUMNTRANSLATION

(
    ID   NUMBER(10) PRIMARY KEY,
    COLUMNNAME   VARCHAR2(50),       //字段名称
    TRANSLATION   VARCHAR2(50)         //字段对应的中文名称
)

 

自己先放几个数据进去,使这张表里有几条记录,例如:StudentName对应的是“学生姓名”。

 

那么现在我已经由一个DataTable了,它的字段名全部都为英文,我只需执行以下代码就可将其翻译过来,并返回翻译过后的DataTable:

[c-sharp] view plaincopyprint?
01./// <summary>   
02./// 将DataTable的字段名全部翻译为中文   
03./// </summary>   
04./// <param name="table">待翻译的DataTable</param>   
05./// <returns></returns>   
06.public DataTable TranslateDataTable(DataTable table)  
07.{  
08.    DataTable dt = new DataTable();  
09.    dt.TableName = "TempTable";  
10.  
11.    if (table != null && table.Rows.Count > 0)  
12.    {  
13.        //先为dt构造列信息   
14.        foreach (DataColumn column in table.Columns)  
15.        {  
16.            string name = GetColumnName(column.ColumnName);  
17.            dt.Columns.Add(name);  
18.        }  
19.  
20.        for (int i = 0; i < table.Rows.Count; i++)  
21.        {  
22.            DataRow NewRow = dt.NewRow();  
23.            DataRow row = table.Rows[i];  
24.  
25.            for (int j = 0; j < dt.Columns.Count; j++)  
26.            {  
27.                NewRow[j] = row[j].ToString();  
28.            }  
29.  
30.            dt.Rows.Add(NewRow);  
31.        }  
32.    }  
33.    return dt;  
34.}  
35.  
36./// <summary>   
37./// 得到列名称的别名   
38./// </summary>   
39./// <param name="columnName"></param>   
40./// <returns></returns>   
41.private string GetColumnName(string columnName)  
42.{  
43.    string sqlString = " Select TRANSLATION from COLUMNTRANSLATION where COLUMNNAME = '" + columnName.ToUpper() + "'";  
44.  
45.    object s = dao.ExecuteScalar(sqlString);  
46.    string name = (s == null) ? columnName : s.ToString(); //如果此英文字段有翻译,则返回其中文翻译,若无,则保留此英文翻译。   
47.    return name;  
48.}  
        /// <summary>
        /// 将DataTable的字段名全部翻译为中文
        /// </summary>
        /// <param name="table">待翻译的DataTable</param>
        /// <returns></returns>
        public DataTable TranslateDataTable(DataTable table)
        {
            DataTable dt = new DataTable();
            dt.TableName = "TempTable";

            if (table != null && table.Rows.Count > 0)
            {
                //先为dt构造列信息
                foreach (DataColumn column in table.Columns)
                {
                    string name = GetColumnName(column.ColumnName);
                    dt.Columns.Add(name);
                }

                for (int i = 0; i < table.Rows.Count; i++)
                {
                    DataRow NewRow = dt.NewRow();
                    DataRow row = table.Rows[i];

                    for (int j = 0; j < dt.Columns.Count; j++)
                    {
                        NewRow[j] = row[j].ToString();
                    }

                    dt.Rows.Add(NewRow);
                }
            }
            return dt;
        }

        /// <summary>
        /// 得到列名称的别名
        /// </summary>
        /// <param name="columnName"></param>
        /// <returns></returns>
        private string GetColumnName(string columnName)
        {
            string sqlString = " Select TRANSLATION from COLUMNTRANSLATION where COLUMNNAME = '" + columnName.ToUpper() + "'";

            object s = dao.ExecuteScalar(sqlString);
            string name = (s == null) ? columnName : s.ToString(); //如果此英文字段有翻译,则返回其中文翻译,若无,则保留此英文翻译。
            return name;
        }

 

这种方法的思想是根据待翻译的DataTable构造新的DataTable:新的DataTable的每一列的列名为翻译后的中文名(若英文列名无翻译,则保留英文列名,若能翻译,则翻译过来),构造好新的DataTable的字段信息后,再一条条的把旧的DataTable的记录插入到新的DataTable中去。

 

呵呵,绕弯了...但是速度还是可以的。

2012-02-14 20:52
songssong
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-12-18
收藏
得分:0 
其实你可以写一个过程,先得到一个只有结构的DataTable  这样也就得到了字段名集合。
然后,将这些字段名翻译成你想要的(比如在数据库中)
最后构造一个sql 语句,用这条sql 语句去得到DataTable ,绑定到datagridview控件。

这样比上面的简单,也没有太大的绕弯
2012-02-14 21:10
songssong
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-12-18
收藏
得分:0 
为什么我的帖子没人看呀。
2012-12-17 20:44
快速回复:我的c#+winform+sql server数据库开发
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018919 second(s), 11 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved