我要设计一款小软件,请各位给点意见! 每天中午都在公司附近的馆子吃饭,时间长了就不想点菜了,于是就有了开发一个自动生成菜单的软件的想法.现在我想知道,我存储菜单用XML好还是SQL好,具体做法如何,有什么区别? 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 小应用就没有必要用 SQL 了吧? 当然用XML好,因为菜单差不多都是固定的那几种菜,数据格式固定,数据量不大,用XML方便 顶楼上,用XML是比较正确的选择.. 最简单,建意直接用txt吧,XML都显得多余. 用xml吧,是固定格式的,要不直接用Excel也可以 我也觉得有些大材小用,但是又考虑到它对数据操作的便捷性,如统计哪道菜吃了多少次,评论一下,随机生成的菜单有没有肉菜?用SQL很容易,用XML处理起来很痛苦. 就是XML处理数据来太麻烦,懒得写 直接用 DataSet 操作数据;把 DataSet 的Schema 和Data 保存成 Xml 存在本地 XML的目标是跨平台,与LZ的小工具不占边, 用XML不如直接串行化了,最少代码就能解决 用access可操作性好,安装容易,移置方便。 赞成,懒得用sql的话 用Access 就好 XML的话,你的程序可以给别人用了。如果用DB的话,你还得让别人来安装数据库 public void ProgramToXml() { XmlDocument xmldoc = new XmlDocument(); XmlNode xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, "", ""); xmldoc.AppendChild(xmlnode); XmlElement xmlelem = xmldoc.CreateElement("", "菜单", ""); XmlAttribute xmlattr = xmldoc.CreateAttribute("菜种"); xmlattr.Value = "素菜"; xmlelem.Attributes.Append(xmlattr); xmldoc.AppendChild(xmlelem); XmlElement xmlelem2 = xmldoc.CreateElement("菜名"); int y = listBox1.Items.Count; for (int i = 0; i < y; i++) { string MenuText = listBox1.Items[i].ToString(); XmlText xmltext = xmldoc.CreateTextNode(MenuText); xmlelem2.AppendChild(xmltext); xmlelem.AppendChild(xmlelem2); } try { xmldoc.Save("c:\\MenuData.xml"); } catch(Exception ex) { MessageBox.Show(ex.Message); } }刚才头手用XML写了一下,发现我要存的实验数据是这样的,<?xml version="1.0"?><菜单 菜种="素菜"> <菜名>宫爆鸡丁红烧茄子</菜名></菜单>怎么回事?怎么样能做成: <菜名>宫爆鸡丁</菜名><菜名>红烧茄子</菜名> 按照各人熟练程度来,我的话选SQL,XML不是很熟。 我这个出错了,不知道为什么?出来的XML不对.XML怎么设计?不太熟悉... 这个有点儿深了,吃的真没有那么有研究.数据表表名:荤菜表名:素菜表名:汤类荤菜:(id自增长,name,review,image,meat)素菜:(id自增长,name,review,image,meat)汤类:(id自增长,name,review,image,meat) 菜单.txt荤菜|素菜|外卖---------荤菜.txt红烧屁股,12元麻辣大肠,10元红烧猪宝,28元---------素菜.txt红豆炒绿豆,2元绿豆炒红豆,2元红豆炒红豆,3元绿豆炒绿豆,3元---------外卖.txt坑得鸡,8元渴淋炖,6元乌拉龟,38元仿传奇SF服务端脚本 还是弄SQL好吧..免得以后越开发越头疼...嘿嘿.. 有SQL好处就在以后再开发的话,数据处理起来方便快捷,XML好处在存储快速高效,至于Sybase和oracal,哎,开玩笑的吧. 就用XML吧,连Access用了都显得浪费 别晕了,acess使用简单,能实现数据管理功能,环境要求低,安装简单。是小程序最好的选择 用EXCEL + VBA 连数据,带界面,半天搞定. 个人认为,使用XML或者ACCESS比较好,当然最好是用XML。再大点的应用时可以考虑用ACCESS。 用Oracle是不是太浪费了,服了... VBA,SQL,XML倒是都会,只是SQL最熟一点,XML目前还不知道他对数据处理还有什么优势,小巧?快速?VBA我一般只在word里开发,excel没写过,估计也差不多,不过想想还是算了,那东西我用不好,不会让我数据都填到EXCEL里面,然后再自动生成菜单,那样倒是不难,只是太没水平了,显得不像咱DEV干的活. 再说了,后续还想开发其它的功能呢.这样吧,SQL+XML 呵呵,excel,“自动筛选”加“分类汇总”也差不多可以实现要求的功能了——只是加条件的随机选择,不知道怎么弄(比如中午花费100元,要求至少一荤一素什么的) 1. 使用XML存所有的菜名2. 为所有的菜名分配权值(1,2,3,...)3. 每天让他随机6次,选6个不重复的随机数,4. 哈哈,每天吃6个菜.....5.. 爽歪歪 。。真无语。点个菜也写程序 是不是以后结婚洞房也要先try catch一下。哈哈 呵呵,看完了,利用自动筛选可以直接实现“菜系分类”、“凉热菜分类”、“荤素分类”、“菜品价格分类”等分类功能。然后利用它自己提供的Rand(),index(),sum(),if等就可以轻松实现自动或半自动点菜系统了。哈哈哈 我觉得用XMl比较好,也可以当做数据库来处理吗,而且数据量也不会很大。 我现在想法改变了,XML的功能我也基本开发完毕,现在想想可不可利用shocket编程,让更多的人参与到点菜当中了,汇总每个人的意见,然后进行选菜.比如说,打开软件后,所有人从总菜单中推选出几个想吃的菜,然后从中自动选取,菜要放上照片,吃完后可以对菜进行评价. 好想法有什么用?这两天接了一个COM的项目,头大了,又没时间写这个了.各位多多给些意见呗,看看有没有比较完美的解决方案撒! 用SQLite易安装,易扩展,易维护。 XML有層次結構,才是LZ要的。 c#处理XML、KML的问题 传真的收发程序实现. 关于picturebox作为panel的子控件,动态改变panel大小,picturebox中就无法显示 怎样让DataRow不属于任何表 DataGrid中数据修改的问题--请高手帮帮忙--小弟先谢了! tabpage的文字对齐? 中秋过完了,不知道大家都玩啥了,出来晒一下 请教问题 完整功能的 SMTP 类,无功能限制,免费使用! 那个函数或方法可以把sbyte转换为string?(注意不是byte、byte[]和sbyte[]而是sbyte) 帮忙解释下一个交换数据的方法 高分求IBatisNet使用一段时间出现的问题
就是XML处理数据来太麻烦,懒得写
如果用DB的话,你还得让别人来安装数据库
public void ProgramToXml()
{
XmlDocument xmldoc = new XmlDocument();
XmlNode xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
xmldoc.AppendChild(xmlnode);
XmlElement xmlelem = xmldoc.CreateElement("", "菜单", "");
XmlAttribute xmlattr = xmldoc.CreateAttribute("菜种");
xmlattr.Value = "素菜";
xmlelem.Attributes.Append(xmlattr);
xmldoc.AppendChild(xmlelem);
XmlElement xmlelem2 = xmldoc.CreateElement("菜名");
int y = listBox1.Items.Count;
for (int i = 0; i < y; i++)
{
string MenuText = listBox1.Items[i].ToString();
XmlText xmltext = xmldoc.CreateTextNode(MenuText);
xmlelem2.AppendChild(xmltext);
xmlelem.AppendChild(xmlelem2);
}
try
{
xmldoc.Save("c:\\MenuData.xml");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
} }
刚才头手用XML写了一下,发现我要存的实验数据是这样的,
<?xml version="1.0"?>
<菜单 菜种="素菜">
<菜名>宫爆鸡丁红烧茄子</菜名>
</菜单>
怎么回事?
怎么样能做成:
<菜名>宫爆鸡丁</菜名>
<菜名>红烧茄子</菜名>
我这个出错了,不知道为什么?出来的XML不对.XML怎么设计?不太熟悉...
表名:荤菜
表名:素菜
表名:汤类
荤菜:(id自增长,name,review,image,meat)
素菜:(id自增长,name,review,image,meat)
汤类:(id自增长,name,review,image,meat)
荤菜|素菜|外卖
---------
荤菜.txt
红烧屁股,12元
麻辣大肠,10元
红烧猪宝,28元
---------
素菜.txt
红豆炒绿豆,2元
绿豆炒红豆,2元
红豆炒红豆,3元
绿豆炒绿豆,3元
---------
外卖.txt
坑得鸡,8元
渴淋炖,6元
乌拉龟,38元仿传奇SF服务端脚本
别晕了,acess使用简单,能实现数据管理功能,环境要求低,安装简单。是小程序最好的选择
半天搞定.
再大点的应用时可以考虑用ACCESS。
用Oracle是不是太浪费了,服了...
——只是加条件的随机选择,不知道怎么弄(比如中午花费100元,要求至少一荤一素什么的)
2. 为所有的菜名分配权值(1,2,3,...)
3. 每天让他随机6次,选6个不重复的随机数,
4. 哈哈,每天吃6个菜.....
5.. 爽歪歪
然后利用它自己提供的Rand(),index(),sum(),if等就可以轻松实现自动或半自动点菜系统了。哈哈哈
易安装,易扩展,易维护。
XML有層次結構,才是LZ要的。