2012-06-26 36 views
2

我有一个数据库,并希望选择与DELPHI和FIREMONKEY CROSSOVER条目。 但我从来没有在DELPHI上使用过SQL。我不知道如何用DELPHI连接到数据库。我不想要一个充满组件的手。它应该是一个简单的连接,就像使用PHP一样。数据库连接和选择德尔福(FIREMONKEY - iOS)

我使用XAMPP - mySQL。 假设我们有一个带有tabel“用户”的数据库“db_x”,该表中有以下条目: name:Michael;姓氏:施奈德;年龄:22

数据库位于“localhost”或其他地方,登录名为“root”,密码为“rootpw”。要连接到数据库在PHP中,我们使用:

mysql_connect("localhost","root","rootpw") or die ("Connection Error"); 
mysql_select_db("db_x") or die ("Error DB"); 

现在,我想从一个名为“迈克尔”用户得到

$query= mysql_query("SELECT surname FROM users WHERE name = 'Michael'") 
or die 
(mysql_error()); 

while($zeile = mysql_fetch_array($query)) 
{ 
    echo $zeile['surname']."<br>"; 
} 

现在,这是关于PHP,但DELPHI呢?我有相同的数据库,并希望显示用户的姓氏,但我甚至不知道如何连接DELPHI(,它也应该支持Firemonkey,并在iOS上工作)。

对不起,我犯了语法错误。

感谢所有来自德国的回复和问候。

+1

你不应该使用mysql_ *函数,它们在所有名称中都被弃用。请考虑切换到mysqli或PDO – GordonM

回答

1

为完整的这个恐龙的缘故。

我没发现我用当时的功能,但它是与此类似:在mydata.php

http := TIdHttp.Create(nil); 
http.HandleRedirects := true; 
http.ReadTimeout := 6000; 
jsonToSend := TStringList.create; 
jsonToSend.Text := 'json={"food":"Pizza"}'; 
Memo1.Lines.Text := http.Post('http://www.mypage.com/mydata.php', jsonToSend); 
jsonToSend.free; 
http.free; 

和简单的MySQL和JSON编码

0

有在Delphi的各种方法,在这个例子中我有以下几点:

我在窗体上一个TSQLConnection对象(但是这可能在代码中创建)。我在组件上设置了数据库连接和数据库设置。

然后,在代码...

//variables 
var Q: TSQLQuery; 

//in function 
Q := TSQLQuery.Create(nil); 
try 
    Q.SQLConnection := myConnectionObjectOnForm; 
    Q.SQL.Text := "SELECT some stuff from TABLE"; 
    Q.Active := true; 

    if not Q.Eof then 
    //Do stuff eg 
    result := Q.Fields[0].AsString; //or reference FieldByName 

    Q.Close; 
finally 
    Q.Free; 
end; 

的TSQLQuery和将TSQLDataSet是最常用的数据检索

+0

谢谢,**但** ..你知道..这个问题是**一岁半**,我发现在这个日子里解决了这个问题,就像2周我问过这个之后。我甚至完全忘了我问过这个问题,特别是因为我甚至没有用Delphi开发过。我会挖掘我的旧delphi文件,并发布当时发现的解决方案。只是为了完整性,所以这可以关闭。 – FlyingLemon

+0

我知道这是一个非常古老的问题,但我碰巧偶然发现并认为我可以提供一个可能的解决方案:-) – Brendan