mysql怎么让数据库的表显示到delphi中
我想让mysql中.USER表显示在delphiDBGRID中.在query中输入sql一直报错..这是为什么啊!~~...
我想让mysql中.USER表显示在delphi DBGRID中.在query中输入sql一直报错..这是为什么啊!~~
展开
2个回答
展开全部
使用时注意将libmysql.dll拷贝到当前目录或系统目录(98:system,NT:system32)下,并保证您的3306端口与远程服务器是相通的。
源程序:
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBXpress, DB, SqlExpr, StdCtrls, ComCtrls, FMTBcd, Grids,
DBGrids, Provider, DBClient, DBLocal, DBLocalS, DBTables;
type
TForm1 = class(TForm)
SQLConnection: TSQLConnection;
StatusBar1: TStatusBar;
Label1: TLabel;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
Label2: TLabel;
Password: TEdit;
User_Name: TEdit;
HostName: TEdit;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
GroupBox2: TGroupBox;
Label5: TLabel;
ESQL: TEdit;
Label6: TLabel;
Database: TEdit;
ButtonGo: TButton;
SQLClientDataSet: TSQLClientDataSet;
procedure Button1Click(Sender: TObject);
procedure ButtonGoClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
with SQLConnection do
begin
Close;
Params.Values['HostName']:=HostName.Text;
Params.Values['UserName']:=User_Name.Text;
Params.Values['Password']:=Password.Text;
Params.Values['Database']:=Database.Text;
try
Connected:=True;
Statusbar1.Panels[0].Text:='Connect OK';
ButtonGo.Enabled:=True;
except
MessageDlg('Connect Error',mtError,[mbyes],0);
end;
end;
end;
procedure TForm1.ButtonGoClick(Sender: TObject);
begin
with SQLClientDataSet do
begin
Close;
CommandText:=ESQL.Text;
Open;
end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SQLConnection.Close;
end;
end.
怀疑你没有启动Mysql的服务?或者服务没有安装上?
尝试 net start mysql,如果服务不存在,请检查Mysql是否正常安装了?
晕~~~
net start mysql就是打开3306端口
源程序:
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBXpress, DB, SqlExpr, StdCtrls, ComCtrls, FMTBcd, Grids,
DBGrids, Provider, DBClient, DBLocal, DBLocalS, DBTables;
type
TForm1 = class(TForm)
SQLConnection: TSQLConnection;
StatusBar1: TStatusBar;
Label1: TLabel;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
Label2: TLabel;
Password: TEdit;
User_Name: TEdit;
HostName: TEdit;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
GroupBox2: TGroupBox;
Label5: TLabel;
ESQL: TEdit;
Label6: TLabel;
Database: TEdit;
ButtonGo: TButton;
SQLClientDataSet: TSQLClientDataSet;
procedure Button1Click(Sender: TObject);
procedure ButtonGoClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
with SQLConnection do
begin
Close;
Params.Values['HostName']:=HostName.Text;
Params.Values['UserName']:=User_Name.Text;
Params.Values['Password']:=Password.Text;
Params.Values['Database']:=Database.Text;
try
Connected:=True;
Statusbar1.Panels[0].Text:='Connect OK';
ButtonGo.Enabled:=True;
except
MessageDlg('Connect Error',mtError,[mbyes],0);
end;
end;
end;
procedure TForm1.ButtonGoClick(Sender: TObject);
begin
with SQLClientDataSet do
begin
Close;
CommandText:=ESQL.Text;
Open;
end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SQLConnection.Close;
end;
end.
怀疑你没有启动Mysql的服务?或者服务没有安装上?
尝试 net start mysql,如果服务不存在,请检查Mysql是否正常安装了?
晕~~~
net start mysql就是打开3306端口
展开全部
(1)窗体运行后显示数据:
在窗体的onshow事件中添加:
with adoquery1 do
begin
close;
sql.clear;
sql.add('select * from users');
open;
end
2. dbgrid 的datasource 连接 adoquery1
3.如果要改变dbgrid字段为汉字的话,双击dbgrid--add nes,将fieldname改为users表中所对应的字段,title中的caption改为你想要的汉字。
(2)没有运行也要显示数据:
adoquery 的active属性改为true,并且,在adoquery的sql中输入:select * from users
注意:user是关键字,表名不要用user命名。
在窗体的onshow事件中添加:
with adoquery1 do
begin
close;
sql.clear;
sql.add('select * from users');
open;
end
2. dbgrid 的datasource 连接 adoquery1
3.如果要改变dbgrid字段为汉字的话,双击dbgrid--add nes,将fieldname改为users表中所对应的字段,title中的caption改为你想要的汉字。
(2)没有运行也要显示数据:
adoquery 的active属性改为true,并且,在adoquery的sql中输入:select * from users
注意:user是关键字,表名不要用user命名。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询