Thread overview
November 28, 2012
version(Windows) {
	pragma(lib, "libmysql");
}
else {
	pragma(lib, "mysqlclient");
}

extern (System) {
	struct MYSQL;
	MYSQL* mysql_init(MYSQL*);
}
void main(){
	MYSQL* mysql;
	mysql = mysql_init(null);


	while(1){}
}

Verdiği hata:
Error 1 Error 42: Symbol Undefined _mysql_init@4 C:\Users\Zekeriya\documents\visual studio 2012\Projects\test\test\

Mysql bağlantısını nasıl gerçekleştirebilirim.
implib kullanarak libmysql.lib oluşturdum ama yine de olmadı

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

November 28, 2012

MySQL konusunda şuradaki modül daha basit bir kullanım içeriyor: https://github.com/simendsjo/mysqln/

import vibe.vibe;
import mysql.db;
import std.stdio;

void main() {
   auto mdb = new MysqlDB("localhost", "user", "password", "database");

   auto c = mdb.lockConnection();
   MetaData md = MetaData(c);
   string[] dbList = md.databases();

   foreach(string db; dbList) {
       c.selectDB(db);
       auto curTables = md.tables();
       writefln("Database '%s' has %s table%s.", db, curTables.length,
                                                     curTables.length == 1?"":"s");
       foreach(tbls; curTables) {
           writefln("\t%s", tbls);
       }
   }
   c.close();
}

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

November 28, 2012

Alıntı (acehreli):

>

"Undefined symbol" hataları program gerekli bir kütüphane ile bağlanmadığı zaman oluşur. Eğer mysql_init() libmysql.lib içinde tanımlıysa, program oluşturulurken kullanılan kütüphaneler arasında libmysql.lib dosyasının da bulunması gerekir.

Konsolda derliyor olsak dmd'ye '-L' seçeneği ile bildirmek gerekirdi. Galiba örneğin şöyle: '-L-llibmysql.lib'.

Ali

OPTLINK (R) for Win32 Release 8.00.12
Copyright (C) Digital Mars 1989-2010 All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
main.obj(main)
Error 42: Symbol Undefined _mysql_init@4
--- errorlevel 1

dosyayı buluyor bulamadığı zaman warning veriyor. Başka bir sıkıntı var.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

November 28, 2012

Alıntı (Salih Dinçer):

>

MySQL konusunda şuradaki modül daha basit bir kullanım içeriyor: https://github.com/simendsjo/mysqln/

> import vibe.vibe;
> import mysql.db;
> import std.stdio;
>
> void main() {
>     auto mdb = new MysqlDB("localhost", "user", "password", "database");
>
>     auto c = mdb.lockConnection();
>     MetaData md = MetaData(c);
>     string[] dbList = md.databases();
>
>     foreach(string db; dbList) {
>         c.selectDB(db);
>         auto curTables = md.tables();
>         writefln("Database '%s' has %s table%s.", db, curTables.length,
>                                                       curTables.length == 1?"":"s");
>         foreach(tbls; curTables) {
>             writefln("\t%s", tbls);
>         }
>     }
>     c.close();
> }
> ```

>

çalıştırdım ama hata verdi.

Error	1	Error: module net is in file 'vibe\core\net.d' which cannot be read	C:\Users\Zekeriya\documents\visual studio 2012\Projects\test\test\mysql\connection.d	59
vibe.d nin içerisine de baktım orada da bulamadım malesef

-- 
[ Bu gönderi, <http://ddili.org/forum>'dan dönüştürülmüştür. ]
November 28, 2012

Çekirdek modül şuradaymış: https://github.com/rejectedsoftware/vibe.d/blob/master/source/vibe/core/net.d

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

November 28, 2012

Teşekkür ederim Salih Bey. Şu an ufak bir sorun var onunla uğraşıyorum o sorunu halledeyim tekrar geri döneceğim mysqle :)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

November 28, 2012

"Undefined symbol" hataları program gerekli bir kütüphane ile bağlanmadığı zaman oluşur. Eğer mysql_init() libmysql.lib içinde tanımlıysa, program oluşturulurken kullanılan kütüphaneler arasında libmysql.lib dosyasının da bulunması gerekir.

Konsolda derliyor olsak dmd'ye '-L' seçeneği ile bildirmek gerekirdi. Galiba örneğin şöyle: '-L-llibmysql.lib'.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]