This commit is contained in:
2011-10-28 13:55:52 +00:00
parent a70d76c731
commit 9bfb6285aa
7 changed files with 293 additions and 20 deletions
+130 -6
View File
@@ -13,28 +13,31 @@ namespace Matomat
private Exception err; private Exception err;
private bool data_b; private bool data_b;
private MySqlDataReader data; private MySqlDataReader data;
private long id;
public DBDriverMysqli() public DBDriverMysqli()
{ {
} }
public override bool connect(string server, string dbs, string user, string pw, int port, string driver) public override bool connect(string server, string dbs, string user, string pw, int port, string driver)
{ {
try try
{ {
this.conn = new MySqlConnection("server=" + server + ";user=" + user + ";database=" + dbs + ";port=" + port + ";password=" + pw + ";"); this.conn = new MySqlConnection("server=" + server + ";user=" + user + ";database=" + dbs + ";port=" + port + ";password=" + pw + ";");
this.conn.Open();
} }
catch (Exception e) catch (Exception e)
{ {
this.err = e; this.err = e;
return false; return false;
} }
new MySqlCommand("SET NAMES 'UTF8'", this.conn).ExecuteNonQuery(); this.query("SET NAMES 'UTF8'");
new MySqlCommand("SET CHARACTER SET 'UTF8'", this.conn).ExecuteNonQuery(); this.query("SET CHARACTER SET 'UTF8'");
return true; return true;
} }
public override void query(string sql) public override void query(string sql)
{ {
this.err = null; this.err = null;
this.data = null;
this.data_b = true;
if (sql.ToUpper().Substring(0, 6) == "SELECT") if (sql.ToUpper().Substring(0, 6) == "SELECT")
this.select(sql); this.select(sql);
else if (sql.ToUpper().Substring(0, 6) == "INSERT") else if (sql.ToUpper().Substring(0, 6) == "INSERT")
@@ -53,9 +56,94 @@ namespace Matomat
this.err = new Exception("Keine unterstütze MySQL Abfrage '" + sql + "'..."); this.err = new Exception("Keine unterstütze MySQL Abfrage '" + sql + "'...");
} }
private void set(string sql)
{
try
{
MySqlCommand cmd = new MySqlCommand(sql, this.conn);
cmd.ExecuteNonQuery();
}
catch (Exception e)
{
this.err = e;
this.data_b = false;
}
}
private void create(string sql)
{
try
{
MySqlCommand cmd = new MySqlCommand(sql, this.conn);
cmd.ExecuteNonQuery();
}
catch (Exception e)
{
this.err = e;
this.data_b = false;
}
}
private void truncate(string sql)
{
try
{
MySqlCommand cmd = new MySqlCommand(sql, this.conn);
cmd.ExecuteNonQuery();
}
catch (Exception e)
{
this.err = e;
this.data_b = false;
}
}
private void delete(string sql)
{
try
{
MySqlCommand cmd = new MySqlCommand(sql, this.conn);
cmd.ExecuteNonQuery();
}
catch (Exception e)
{
this.err = e;
this.data_b = false;
}
}
private void update(string sql)
{
try
{
MySqlCommand cmd = new MySqlCommand(sql, this.conn);
cmd.ExecuteNonQuery();
}
catch (Exception e)
{
this.err = e;
this.data_b = false;
}
}
private void insert(string sql)
{
try
{
MySqlCommand cmd = new MySqlCommand(sql, this.conn);
cmd.ExecuteNonQuery();
this.id = cmd.LastInsertedId;
}
catch (Exception e)
{
this.err = e;
this.data_b = false;
}
}
private void select(string sql) private void select(string sql)
{ {
this.data_b = true;
try try
{ {
MySqlCommand cmd = new MySqlCommand(sql, this.conn); MySqlCommand cmd = new MySqlCommand(sql, this.conn);
@@ -68,13 +156,13 @@ namespace Matomat
this.data = null; this.data = null;
} }
} }
public override List<object> getResultList() public override List<object[]> getResultList()
{ {
if (!data_b || this.data == null) if (!data_b || this.data == null)
{ {
return null; return null;
} }
List<object> ret = new List<object>(); List<object[]> ret = new List<object[]>();
while (this.data.Read()) while (this.data.Read())
{ {
object[] row = new object[this.data.FieldCount]; object[] row = new object[this.data.FieldCount];
@@ -87,5 +175,41 @@ namespace Matomat
this.data.Close(); this.data.Close();
return ret; return ret;
} }
public override object[] getResult()
{
if (!data_b || this.data == null)
{
return null;
}
if (this.data.HasRows)
{
this.data.Read();
object[] row = new object[this.data.FieldCount];
for (int i = 0; i < this.data.FieldCount; i++)
{
row[i] = this.data[i];
}
return row;
}
return null;
}
public override Exception getError()
{
return this.err;
}
public override long getID()
{
return this.id;
}
public override string quote(string str)
{
return str;
}
~DBDriverMysqli()
{
if (!this.data.IsClosed)
this.data.Close();
this.conn.Close();
}
} }
} }
+9 -8
View File
@@ -28,7 +28,8 @@ namespace Matomat
if (i.signature == server + dbs + user + pw + port + driver) if (i.signature == server + dbs + user + pw + port + driver)
return i.iDatabase; return i.iDatabase;
} }
Type t = Type.GetType("DBDriver" + char.ToUpper(driver[0]) + driver.Substring(1).ToLower()); string object_driver = "Matomat.DBDriver" + char.ToUpper(driver[0]) + driver.Substring(1).ToLower();
Type t = Type.GetType(object_driver, true);
Database db = (Database)t.GetConstructor(Type.EmptyTypes).Invoke(new Object[0]); Database db = (Database)t.GetConstructor(Type.EmptyTypes).Invoke(new Object[0]);
db.connect(server, dbs, user, pw, port, driver); db.connect(server, dbs, user, pw, port, driver);
if (db.getError() != null) if (db.getError() != null)
@@ -39,31 +40,31 @@ namespace Matomat
instances.Add(instance); instances.Add(instance);
return instance.iDatabase; return instance.iDatabase;
} }
public bool connect(string server, string dbs, string user, string pw, int port, string driver) public virtual bool connect(string server, string dbs, string user, string pw, int port, string driver)
{ {
return false; return false;
} }
public void query(string sql) public virtual void query(string sql)
{ {
return; return;
} }
public object getResult() public virtual object[] getResult()
{ {
return null; return null;
} }
public List<object> getResultList() public virtual List<object[]> getResultList()
{ {
return null; return null;
} }
public Exception getError() public virtual Exception getError()
{ {
return null; return null;
} }
public int getID() public virtual long getID()
{ {
return 0; return 0;
} }
public string quote(string str) public virtual string quote(string str)
{ {
return str; return str;
} }
+23 -3
View File
@@ -34,6 +34,21 @@
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="mysql.data, Version=6.2.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>.\mysql.data.dll</HintPath>
</Reference>
<Reference Include="mysql.data.entity, Version=6.2.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>.\mysql.data.entity.dll</HintPath>
</Reference>
<Reference Include="mysql.visualstudio">
<HintPath>.\mysql.visualstudio.dll</HintPath>
</Reference>
<Reference Include="mysql.web, Version=6.2.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>.\mysql.web.dll</HintPath>
</Reference>
<Reference Include="RfidClass, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="RfidClass, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>.\RfidClass.dll</HintPath> <HintPath>.\RfidClass.dll</HintPath>
@@ -55,7 +70,6 @@
<Compile Include="Factory.cs" /> <Compile Include="Factory.cs" />
<Compile Include="Helper.cs" /> <Compile Include="Helper.cs" />
<Compile Include="Input.cs" /> <Compile Include="Input.cs" />
<Compile Include="instance.cs" />
<Compile Include="LCDDisplay.cs" /> <Compile Include="LCDDisplay.cs" />
<Compile Include="Prod.cs" /> <Compile Include="Prod.cs" />
<Compile Include="Program.cs" /> <Compile Include="Program.cs" />
@@ -67,16 +81,22 @@
<Compile Include="Worker.cs" /> <Compile Include="Worker.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Content Include="librfid-tool.exe"> <Content Include="exe\librfid-tool.exe">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="RfidClass.dll"> <Content Include="dll\RfidClass.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="dll\mysql.data.dll" />
<Content Include="dll\mysql.data.entity.dll" />
<Content Include="dll\mysql.visualstudio.dll" />
<Content Include="dll\mysql.web.dll" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="App.config" /> <None Include="App.config" />
<Compile Include="Tables\Tables.Product.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.
+16 -2
View File
@@ -24,9 +24,23 @@ namespace Matomat
private void load() private void load()
{ {
if (true) TProduct t = new Tables().getProdTable(this.prodId);
if (t == null)
{
this.found = false; this.found = false;
this.type = ProdType.product; }
else
{
this.found = true;
if (t.iscommand)
{
this.type = ProdType.instruction;
}
else
{
this.type = ProdType.product;
}
}
} }
internal bool vaild() internal bool vaild()
+88
View File
@@ -0,0 +1,88 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Matomat
{
class TProduct : Tables
{
private int _id;
public int id
{
get
{
return _id;
}
set
{
if (_id != value)
{
_id = value;
}
}
}
private long _barcode;
public long barcode
{
get
{
return _barcode;
}
set
{
if (_barcode != value)
{
_barcode = value;
}
}
}
private string _name;
public string name
{
get
{
return _name;
}
set
{
if (_name != value)
{
_name = value;
}
}
}
private int _cost;
public int cost
{
get
{
return _cost;
}
set
{
if (_cost != value)
{
_cost = value;
}
}
}
private bool _iscommand;
public bool iscommand
{
get
{
return _iscommand;
}
set
{
if (_iscommand != value)
{
_iscommand = value;
}
}
}
}
}
+25 -1
View File
@@ -5,7 +5,7 @@ using System.Text;
namespace Matomat namespace Matomat
{ {
partial class Tables class Tables
{ {
public TUser getUserTable(int id) public TUser getUserTable(int id)
{ {
@@ -13,7 +13,31 @@ namespace Matomat
} }
public TUser getUserTable(long userid) public TUser getUserTable(long userid)
{ {
Database db = Factory.getDBO();
db.query("SELECT * FROM `user` WHERE `userid` =" + db.quote(userid.ToString()));
object[] row = db.getResult();
return new TUser(); return new TUser();
} }
public TProduct getProdTable(int id)
{
return new TProduct();
}
public TProduct getProdTable(long barcode)
{
Database db = Factory.getDBO();
db.query("SELECT * FROM `product` WHERE `barcode` = " + db.quote(barcode.ToString()));
object[] row = db.getResult();
if (row == null)
{
return null;
}
TProduct ret = new TProduct();
ret.id = (int)row[0];
ret.barcode = (long)row[1];
ret.name = (string)row[2];
ret.cost = (int)row[3];
ret.iscommand = (bool)row[4];
return ret;
}
} }
} }
+2
View File
@@ -19,6 +19,8 @@ namespace Matomat
private void load() private void load()
{ {
TUser u = new Tables().getUserTable(this.userId);
if (true) if (true)
this.found = true; this.found = true;
} }