von Toxitom » So, 23.04.2006 08:32
Hey ihr beiden,
ok, das Forum ist nicht gerade ideal, diese zu diskutieren - besser wäre das Base-Forum oder das Basic-Forum
Aber egal. Wenn Ihr über Basic zugreifen wollt, so braucht ihr zuerst eine Verbindung - dann könnt ihr SQL-Kommandos entsprechend übermiteln. Hier ist mal ein (natürlich funktionierendes) Code-Sniplet, das das Prinzip darstellt. Ich nutze allerding keine ODBC Verbindung, sondern eine JDBC - Verbindung (auch unter Windows XP).
Code: Alles auswählen
Sub getConnection
dim mDBProperties(2) as New com.sun.star.beans.PropertyValue
mDBProperties(0).name = "user"
mDBProperties(0).value = "Thomas"
mDBProperties(1).Name = "password"
mDBProperties(1).value = "myPasswort"
mDBProperties(2).Name = "JavaDriverClass"
mDBProperties(2).value = "org.gjt.mm.mysql.Driver"
oDriverManager = createUnoService("com.sun.star.sdbc.DriverManager")
oConnection = oDriverManager.getConnectionWithInfo( _
"jdbc:mysql://192.168.1.143:3306/mainhausen", mDBProperties())
oStatement = oConnection.createStatement()
REM hier wird gelesen, und zwar die Zahl in Spalte 3
'oResultSet = oStatement.executeQuery("SELECT * FROM cpm_preise")
'Do while (oResultSet.next)
' msgbox oResultSet.getdouble(3)
'loop
REM jetzt wird geschrieben - ein neuer Datensatz. Das Problem: Ihr
REM müsst dem SQL -Befehl den Dezimaltrenner als Punkt übergeben!
dZahl = 3.2
sZahl = cStr(dZahl)
mid(sZahl, instr(sZahl, ","), 1, ".")
msgbox sZahl
oStatement.executeUpdate( "insert into cpm_preise( pr_pos1, pr_pos2) values ( '4.2', " & sZahl & ")")
oConnection.close()
End Sub
Ich hoffe, das hilft euch bei euren weiteren Betrachtungen
Gruss
Thomas
Hey ihr beiden,
ok, das Forum ist nicht gerade ideal, diese zu diskutieren - besser wäre das Base-Forum oder das Basic-Forum :wink:
Aber egal. Wenn Ihr über Basic zugreifen wollt, so braucht ihr zuerst eine Verbindung - dann könnt ihr SQL-Kommandos entsprechend übermiteln. Hier ist mal ein (natürlich funktionierendes) Code-Sniplet, das das Prinzip darstellt. Ich nutze allerding keine ODBC Verbindung, sondern eine JDBC - Verbindung (auch unter Windows XP).
[code]Sub getConnection
dim mDBProperties(2) as New com.sun.star.beans.PropertyValue
mDBProperties(0).name = "user"
mDBProperties(0).value = "Thomas"
mDBProperties(1).Name = "password"
mDBProperties(1).value = "myPasswort"
mDBProperties(2).Name = "JavaDriverClass"
mDBProperties(2).value = "org.gjt.mm.mysql.Driver"
oDriverManager = createUnoService("com.sun.star.sdbc.DriverManager")
oConnection = oDriverManager.getConnectionWithInfo( _
"jdbc:mysql://192.168.1.143:3306/mainhausen", mDBProperties())
oStatement = oConnection.createStatement()
REM hier wird gelesen, und zwar die Zahl in Spalte 3
'oResultSet = oStatement.executeQuery("SELECT * FROM cpm_preise")
'Do while (oResultSet.next)
' msgbox oResultSet.getdouble(3)
'loop
REM jetzt wird geschrieben - ein neuer Datensatz. Das Problem: Ihr
REM müsst dem SQL -Befehl den Dezimaltrenner als Punkt übergeben!
dZahl = 3.2
sZahl = cStr(dZahl)
mid(sZahl, instr(sZahl, ","), 1, ".")
msgbox sZahl
oStatement.executeUpdate( "insert into cpm_preise( pr_pos1, pr_pos2) values ( '4.2', " & sZahl & ")")
oConnection.close()
End Sub[/code]
Ich hoffe, das hilft euch bei euren weiteren Betrachtungen :D
Gruss
Thomas