On Thursday, 22 October 2020 at 14:08:30 UTC, Steven Schveighoffer wrote:
On 10/22/20 7:04 AM, Vino wrote:
Hi All,


  Request your help on the below code as it is not working as expected.

GetConnections.d

module common.GetConnections;
import mysql;

class Connections
{
   private Connection conn;
  auto constr = "host=localhost;port=3910;user=user;pwd=password#;db=testdb";

I'd declare this immutable, so it's not stored in the class:

immutable constr = "...";

   this.conn = new Connection(constr);

You are trying to assign an instance member at compile time, with no actual instance.

You need a constructor

     this() { this.conn = new Connection(constr); }
}

GetHost.d

import common.GetConnections;
import std.array : array;
import std.variant;
import mysql;
import std.stdio: writeln;

void main()
{
  auto conn = new Connections();
  Row[] data = conn.query("SELECT * FROM hostlog").array;
  writeln(data[]);
}

The rest should work.

-Steve

Hi Steve,

   Thank you very much, I tried your solution, still not working

File: GetConnections.d
module common.GetConnections;
import mysql;

class Connections
{
  private Connection conn;
immutable constr = "host=localhost;port=3910;user=user;pwd=password#;db=testdb";
  this() { this.conn = new Connection(constr); }
}

Error:
source/common/GetHost.d(11,25): Error: none of the overloads of query are callable using argument types (Connections, string), candidates are:
/root/.dub/packages/mysql-native-3.0.0/mysql-native/source/mysql/commands.d(321,13):
        mysql.commands.query(Connection conn, const(char[]) sql, 
ColumnSpecialization[] csa = null)
/root/.dub/packages/mysql-native-3.0.0/mysql-native/source/mysql/commands.d(334,13):
        mysql.commands.query(Connection conn, const(char[]) sql, 
VariantN!32LU[] args)
/root/.dub/packages/mysql-native-3.0.0/mysql-native/source/mysql/commands.d(342,13):
        mysql.commands.query(Connection conn, ref Prepared prepared)
/root/.dub/packages/mysql-native-3.0.0/mysql-native/source/mysql/commands.d(357,13):
        mysql.commands.query(Connection conn, ref Prepared prepared, 
VariantN!32LU[] args)
/root/.dub/packages/mysql-native-3.0.0/mysql-native/source/mysql/commands.d(364,13):
        mysql.commands.query(Connection conn, ref BackwardCompatPrepared 
prepared)
source/common/GetParams.d(11,25): ... (2 more, -v to show) ...

From,
Vino.B

Reply via email to