数据库的比较问题!(99分)

  • 主题发起人 主题发起人 董海滨
  • 开始时间 开始时间

董海滨

Unregistered / Unconfirmed
GUEST, unregistred user!
1.请问DELPHI开发用到的数据库和有何特点!
2.您一般使用何和数据库进行,能告诉我一点心得吗!
 
看看有关的书,有关数据库的,再来这里发发分就好了!
 
现在关于数据库的书很多的,还是看看书吧
 
1、要知道delphi开发数据库有何特点,要和另一开发工具比较才知道的。
2、我比较喜欢用mssql7,因为它简单,适合于中型数据库。用Oracle也行。
 
问这种问题未免太夸张了吧。
还是先看看书再说吧。
至于数据库,建议你用IB
 
用DELPHI开发数据库应用非常的方便,无论是桌面数据库如Paradox,foxBase,Excel ,还是
功能强大的远程数据库如DB2、Oracle、SYBASE、Imformix、MS SQL SERVER、InterBase等。
如果处理的数据比较少,采用桌面数据库就行了(建议采用ACCESS比Paradox来得稳定),对
于较大的应用不妨采用MS SQL SERVER。因为MS SQL SERVER是从SYBASE学习过来并发扬广大
的,而Oracle相对来说,价格是高点。
 
所有的数据库对DELPHI来说,几乎在开发时都可以用相同的方法和控件来开发。
因为DELPHI有BDE。开发速度相当快。

建议使用SQL SERVER或ORACLE。IB用来练兵倒不错。
 
小弟是DELPHI的初学者,现在研习DELPHI+PARADOX,但总觉PARADOX不能使用SQL的某些语句,
忍痛拿出大半家产以求各位畅所欲言!
请各位大虾能对小弟多多指点!
 
1.BDE是borland公司的数据库引擎,可以通过它直接与数据库的数据建立连接。是一种
“桥”的关系
2.如果你想练习Client/Server模式的数据库开发,那么先用Borland随delphi提供的
InterBase就是一个很好的选择,它是一种真正意义上的数据库,支持几乎所以大
型数据库所能提供的服务,是一种学习C/S架构的好平台,当熟悉之后代码很容易
转移到其它商业大型数据库上。
 
本地SQL很多东东都不支持的。
 
有以下一个数据表
Field1 field2
a 32
b 43
c 54
a 76
b 23
c 76
d 65
a 23
b 76
c 87
d 23
a 65
b 54
c 54
d 76
我想将其显示为
Field1 first twice third forth
a 32 76 23 65
b 43 23 76 54
c 54 76 87 54
d 65 23 76
怎么办?
我必须查询出来显示并打印出来
并且显示first twice third forth可能还有更多的列显示
也就是说查询显示的列不固定
请高手回答后能给我e_mail
seawater001@yeah.net
最好能具体一些!
谢谢!


 
想一句搞定是不可能的了,我以为
 
那行是固定的么?
仅为a,b,c,d四个值或者是一系列有序的值,
还是任意的?
 
是一系列有序值
如第一列为a b c
a b c d
a b c
a b c d e
a b c d
而我在显示时则a b c d e只在第一列显示一次
 
那你这个表的数据是怎么来得呢
 
下面这段程序你翻成pascal试试

int N = 4;//序列长度,现在仅定为4,即a,b,c,d重复出现

int i,start = 0;
char cha1,tchar;

while(!q->Eof) //q为TTable
{
tchar = 'a' - 1;
start = 1;
do
{
cha1 = q->Fields->Fields[0]->AsString[1];

if(cha1 > tchar)
{
for(i = start; i < start + cha1 - tchar - 1; i++)
ListView1->Items->Item->SubItems->Add("");

ListView1->Items->Item[cha1 - 'a' + 1]->SubItems->Add(q->Fields->Fields[1]->AsString);

start = i + 1;
tchar = cha1;
q->Next();
}
else
{
for(i = start; i < N; i++)
ListView1->Items->Item->SubItems->Add("");
break;
}
}
while(true);
}
 
sorry,有点笔误

int N = 5;//序列长度+1,现在仅定为4,即a,b,c,d重复出现
//ListView1事先加入了5个ListItem,一个Column,设为vsReport,

int i,start = 0;
char cha1,tchar;

while(!q->Eof) //q为TTable
{

tchar = 'a' - 1;
start = 1;
do
{
cha1 = q->Fields->Fields[0]->AsString[1];

if(cha1 > tchar)
{
for(i = start; i < start + cha1 - tchar - 1; i++)
ListView1->Items->Item->SubItems->Add("");

ListView1->Items->Item[cha1 - 'a' + 1]->SubItems->Add(q->Fields->Fields[1]->AsString);

start = i + 1;
tchar = cha1;
q->Next();
}
else
{
for(i = start; i < N; i++)
ListView1->Items->Item->SubItems->Add("");
break;
}
}
while(true);
}
 
谢谢hunj
但如果排列不整齐如a b c
b a c d
d c a e a
c b d a e
并且a b c d e...的个数不可确定
能做出来吗
 
对不起
第一个数据表后面就有一个标志字段
我把第一个表再重复一遍
Field1 field2 field3
a 32 a1
c 43 a1
b 54 a1
a 76 a2
b 23 a2
d 76 a2
c 65 a2
d 23 a3
c 76 a3
b 87 a3
a 23 a3
b 65 a4
a 54 a4
d 54 a4
c 76 a4

请试试看
 
接受答案了.
 
后退
顶部