Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

Sql mit ahk


  • Please log in to reply
19 replies to this topic
Voign
  • Members
  • 54 posts
  • Last active: Sep 08 2015 07:49 PM
  • Joined: 20 Oct 2014

Kennt sich jemand mit sql damit aus?

 

also wie man eine Datenbank öffnet weiß ich, reinschreibt auch aber wie kann ich einen string ersetzen in der datenbank?

 

Und noch was ich hab eine datenbank die hat keine endung also statt Datenbank.sqlite heißt meine Datenbank

umbennen wäre sicherlich ne lösung, jedoch sollte das allgemein anwendbar sein.

 

also zu meiner frage wie kann ich die datenbank kopieren

 

filecopy,Datenbank,Folder/Datenbank funzt leider nicht ;(

 

danke schon mal im voraus :)

 

 



HotKeyIt
  • Moderators
  • 7439 posts
  • Last active: Jun 22 2016 09:14 PM
  • Joined: 18 Jun 2008

Versuch den kompletten Pfad anzugeben und \ mit / nicht zu vertauschen: filecopy,% A_ScriptDir "\Datenbank",% A_ScriptDir "\Folder\Datenbank"



hd0202
  • Members
  • 709 posts
  • Last active: Feb 14 2016 08:05 PM
  • Joined: 13 Aug 2006
in SQL ersetzen mit: UPDATE

 

Hubert

 

 



Voign
  • Members
  • 54 posts
  • Last active: Sep 08 2015 07:49 PM
  • Joined: 20 Oct 2014

Versuch den kompletten Pfad anzugeben und \ mit / nicht zu vertauschen: filecopy,% A_ScriptDir "\Datenbank",% A_ScriptDir "\Folder\Datenbank"

 

Danke hat geklappt ;)



Voign
  • Members
  • 54 posts
  • Last active: Sep 08 2015 07:49 PM
  • Joined: 20 Oct 2014

 

in SQL ersetzen mit: UPDATE

 

Hubert

 

 

 

Aber nun wieder zu sql mit update hab ichs auch schon versucht, aber irgwie funzt das ned -.-

 

TestInsert(mydb){
 
 
update := {}
update.PlayerID := "%Update1%"
update.AccountStatus := "%Update2%"
update.AccountPrivileges := "%Update3%"
update.LastUpdateTime := "%Update4%"
update.Avatar := "%Update5%"
update.GameObjects := "%Update6%"
 
mydb.update(record, "player")
 
 
 
 
RunSQL("select * FROM player")
}
 
mit der funktion kann ich irgwie nur was in die datenbank reinschreiben, aber nicht ersetzen.
 
Ideen?


HotKeyIt
  • Moderators
  • 7439 posts
  • Last active: Jun 22 2016 09:14 PM
  • Joined: 18 Jun 2008
update.PlayerID := Update1
update.AccountStatus := Update2
update.AccountPrivileges := Update3
update.LastUpdateTime := Update4
update.Avatar := Update5
update.GameObjects := Update6


Voign
  • Members
  • 54 posts
  • Last active: Sep 08 2015 07:49 PM
  • Joined: 20 Oct 2014

Oh das war in fail von mir die % in "" reinzupacken^^

 

geht aber trotzdem nicht @HotKeyIt



HotKeyIt
  • Moderators
  • 7439 posts
  • Last active: Jun 22 2016 09:14 PM
  • Joined: 18 Jun 2008

Kannst du deinen kompletten Script und Links zu den Funktionen posten.



Voign
  • Members
  • 54 posts
  • Last active: Sep 08 2015 07:49 PM
  • Joined: 20 Oct 2014

Das ist der link zu der sql funktion die ich benutze

http://www.autohotke...lite-mysql-ado/

 

Aber leider geht filecopy jetzt doch nicht mehr, vorhin ging es aber -.-

hab nichts verändert, oh man wie ich das hasse 

 

hast du vllt noch ne lösung mit filecopy?



HotKeyIt
  • Moderators
  • 7439 posts
  • Last active: Jun 22 2016 09:14 PM
  • Joined: 18 Jun 2008

Benutzt du sqlite3?

Versuche: filecopy,% A_ScriptDir "\Datenbank",% A_ScriptDir "\Folder\Datenbank",1 um Datei zu ersetzen falls vorhanden.



Voign
  • Members
  • 54 posts
  • Last active: Sep 08 2015 07:49 PM
  • Joined: 20 Oct 2014

Danke für deine Unterstützung :)

 

Die datenbank is sqlite3

Habs geschafft mit der funktion zu connecten, auszulesen und reinzuschreiben aber nicht ne zeile zu ersetzen.

 

 

Das mit filecopy hab ich jetzt 

 

Hier der Code falls nochmal jemand das problem haben sollte

 

Variable2 = %Backup1%
filecopy,% A_ScriptDir "\Datenbank",% A_ScriptDir "\BackUp\" Variable2 "\Datenbank",1


Voign
  • Members
  • 54 posts
  • Last active: Sep 08 2015 07:49 PM
  • Joined: 20 Oct 2014
Jetzt geht wenigstens das forum wieder^^
bin leider noch nicht weitergekommen, kann mir vllt jemand sagen wie ich eine zeile in sqllite3 updaten kann?

HotKeyIt
  • Moderators
  • 7439 posts
  • Last active: Jun 22 2016 09:14 PM
  • Joined: 18 Jun 2008

Befehl für sqlite3 ist UPDATE TABLE Set COLUMN = Value WHERE COLUMN=VALUE



Voign
  • Members
  • 54 posts
  • Last active: Sep 08 2015 07:49 PM
  • Joined: 20 Oct 2014

ich bekomms einfach nicht hin ;/

 

ich mag z.b bei textinsert das er entweder die spalte name komplett überschreibt also mit fname,phone und room

 

oder er löscht zuerst die komplette zeile und schreibt es dann rein.

 

Is null hat es so gelöst

 

TestInsert(mydb){
 
;Table Layout: Name, Fname, Phone, Room
 
record := {}
record.Name := "Yutini_" RandomChars(5)
record.Fname := "Wayland"
record.Phone := "1337"
record.Room := "No idea for what this is good for"
 
mydb.Insert(record, "Test") ; insert a single record into table test
 
RunSQL("SELECT * FROM Test")
}
 
Is ja an sich nicht schlecht aber es wird einfach reingeschrieben ohne zu schaun ob bei name schon der gleich name drin steht.
 
mir währe eigendlich schon geholfen, wenn du mir sagen könntest wie ich eine komplette zeile lösche
 
TestInsert(mydb){
 
sql = 
(
DELETE FROM test
    record := {}
record.Name := "name1" 
record.Fname := "Fname1"
record.Phone := "Phone1"
record.Room := "Room1"
mydb.delete(records, "Test")
)
RunSQL("SELECT * FROM test")
}
 
so passiert bei mir garnichts -.-


hd0202
  • Members
  • 709 posts
  • Last active: Feb 14 2016 08:05 PM
  • Joined: 13 Aug 2006

Hi,

 

zeig uns doch bitte mal deine Versuche zum Update (ich habe da so einen Verdacht, warum das nicht geht, kann mir aber nicht vorstellen, dass das noch Keiner bemerkt hat.

 

Zum Delete:

in deinem Beispiel darf nicht "DELETE FROM test" enthalten sein, das sollte die Delete-Methode automatisch einfügen.

 

Ich habe aber allerdings in der Lib keine Stelle gefunden, an der dies geschieht.

 

Für beide Probleme gibt es aber eine Alternative: SQLite_Exec(database, sql_statement).

In sql_statement musst du das vollständige Update- bzw. Delete-Statement in einem String zusammenbauen.

 

Ich hoffe, das hillft dir weiter.

 

Hubert