Hallo zusammen,
ich habe vll. bald die Aufgabe ein kleines "Warenwirtschaftssystem" zu programmieren. Zunächst nur Artikel-Liste, Kunden-Daten, Kasse. Was geklärt werden muss:
- AutoIt gut genug um die Datenmengen zu verarbeiten?
- SQLite gut genug um die Datenmengen zu verarbeiten?
Alternativen:
- AutoIt und MySQL?
- C# und MySQL/Oracle? Muss mich hier nochmal erkundigen, ich meine es gab eine etwas eingeschränke Version kostenfrei und legal vom Visual Studio.
- Fertiges Produkt kaufen
Dabei ist zusagen, dass voraussichtlich das Programm so ausschaut, das es 3 oder 4 verschiedene Masken gibt, die jeweils Listviews nutzen. Alle Daten werden/müssen in der Datenbank gespeichert (werden). Artikelstamm wird wahrscheinlich um die 10.000 Artikel werden.
Hat jemand Erfahrungen oder Ratschläge für mich, ob das zu groß wird um es mit AutoIt zu lösen? Die GUIs etc. müssen nicht alle binnen 2 Sekunden reagieren, aber wenn ich mal mit meinem Skript ein weng rumspiele wird es ab 10.000 schon hart
Alternativ kaufbare WaWi Systeme?
Hoffe ihr habt ein paar Tpps für mich.
#include <MsgBoxConstants.au3>
#include <SQLite.au3>
#include <SQLite.dll.au3>
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
Local $aResult, $iRows, $iColumns, $iRval
GUICreate("ListView Add Item", 800, 600)
$idListview = GUICtrlCreateListView("", 10, 10, 780, 580)
GUISetState(@SW_SHOW)
_GUICtrlListView_InsertColumn($idListview, 0, "Column 1", 100)
_GUICtrlListView_InsertColumn($idListview, 1, "Column 2", 100)
_GUICtrlListView_InsertColumn($idListview, 2, "Column 3", 100)
_GUICtrlListView_InsertColumn($idListview, 3, "Column 2", 100)
_GUICtrlListView_InsertColumn($idListview, 4, "Column 3", 100)
_GUICtrlListView_InsertColumn($idListview, 5, "Column 2", 100)
_GUICtrlListView_InsertColumn($idListview, 6, "Column 3", 100)
_GUICtrlListView_InsertColumn($idListview, 7, "Column 2", 100)
_GUICtrlListView_InsertColumn($idListview, 8, "Column 3", 100)
_GUICtrlListView_InsertColumn($idListview, 9, "Column 3", 100)
_GUICtrlListView_InsertColumn($idListview, 10, "Column 3", 100)
_SQLite_Startup()
If @error Then
MsgBox($MB_SYSTEMMODAL, "SQLite Error", "SQLite.dll Can't be Loaded!")
Exit -1
EndIf
ConsoleWrite("_SQLite_LibVersion=" & _SQLite_LibVersion() & @CRLF)
_SQLite_Open() ; Open a :memory: database
If @error Then
MsgBox($MB_SYSTEMMODAL, "SQLite Error", "Can't Load Database!")
Exit -1
EndIf
If Not _SQLite_Exec(-1, "CREATE TABLE persons (a, b, c, d, e, f, g, h, i, j, k);") = $SQLITE_OK Then
MsgBox($MB_SYSTEMMODAL, "SQLite Error", _SQLite_ErrMsg())
EndIf
If Not _SQLite_Exec(-1, "CREATE TABLE persons2 (a, b, c, d, e, f, g, h, i, j, k);") = $SQLITE_OK Then
MsgBox($MB_SYSTEMMODAL, "SQLite Error", _SQLite_ErrMsg())
EndIf
Dim $aSpace[3]
For $y = 0 To 1000 Step 1
$digits = 11
$query = ""
$pwd = ""
For $i = 1 To $digits
$aSpace[0] = Chr(Random(65, 90, 1)) ;A-Z
$aSpace[1] = Chr(Random(97, 122, 1)) ;a-z
$aSpace[2] = Chr(Random(48, 57, 1)) ;0-9
$pwd &= $aSpace[Random(0, 2, 1)]
If $i = 1 Then
$query = "'" & $pwd
Else
$query &= "', '" & $pwd
EndIf
Next
If Not _SQLite_Exec(-1, "INSERT INTO persons VALUES (" & $query & "');") = $SQLITE_OK Then
MsgBox($MB_SYSTEMMODAL, "SQLite Error", _SQLite_ErrMsg())
EndIf
If Not _SQLite_Exec(-1, "INSERT INTO persons2 VALUES (" & $query & "');") = $SQLITE_OK Then
MsgBox($MB_SYSTEMMODAL, "SQLite Error", _SQLite_ErrMsg())
EndIf
Next
; Query
$iRval = _SQLite_GetTable2d(-1, "SELECT p.a, pp.b, p.c, pp.d, p.e, pp.f, p.g, pp.h, p.i, pp.j, p.k FROM persons p, persons2 pp;", $aResult, $iRows, $iColumns)
If $iRval = $SQLITE_OK Then
For $i = 0 To $iRows
_GUICtrlListView_AddItem($idListview, "Row 1: Col 1", $i)
For $y = 0 To $iColumns
_GUICtrlListView_AddSubItem($idListview, $i, "Row 1: Col 2", $y)
Next
Next
Else
MsgBox($MB_SYSTEMMODAL, "SQLite Error: " & $iRval, _SQLite_ErrMsg())
EndIf
_SQLite_Close()
_SQLite_Shutdown()
MsgBox(0, "", $iRows)
; Loop until the user exits.
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
Alles anzeigen