вобщем как я понял, можно юзать текстовые файлы. ура!!!
не знаю как в php, но в asp net очень муторно работать с бд
вот пример инициализации простейшей бд
private static OleDbConnection con = null;
private static OleDbCommand selectCommand = null;
private static OleDbCommand updateCommand = null;
private static OleDbCommand deleteCommand = null;
private static OleDbCommand insertCommand = null;
private static OleDbDataAdapter adapter = null;
public static DataSet ds = null;
/// <summary>
/// Загрузка базы данных
/// </summary>
public static void LoadData(string path)
{
con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + path);
selectCommand = new OleDbCommand("SELECT * FROM MainTable", con);
insertCommand = new OleDbCommand("INSERT INTO `MainTable` (`Number`, `Nick`, `Password`, `Mail`, `WMZ`, `Referer`, `Level`, `Money`) VALUES (?, ?, ?, ?, ?, ?, ?, ?)", con);
insertCommand.Parameters.AddRange(new OleDbParameter[] {
new OleDbParameter("Number", OleDbType.Integer, 0, "Number"),
new OleDbParameter("Nick", OleDbType.VarWChar, 0, "Nick"),
new OleDbParameter("Password", OleDbType.VarWChar, 0, "Password"),
new OleDbParameter("Mail", OleDbType.VarWChar, 0, "Mail"),
new OleDbParameter("WMZ", OleDbType.VarWChar, 0, "WMZ"),
new OleDbParameter("Referer", OleDbType.VarWChar, 0, "Referer"),
new OleDbParameter("Level", OleDbType.Integer, 0, "Level"),
new OleDbParameter("Money", OleDbType.Integer, 0, "Money")});
updateCommand = new OleDbCommand("UPDATE `MainTable` SET `Number` = ?, `Nick` = ?, `Password` = ?, `Mail` = ?, `WMZ` = ?, `Referer` = ?, `Level` = ?, `Money` = ? WHERE ((`Number` = ?) AND ((? = 1 AND `Nick` IS NULL) OR (`Nick` = ?)) AND ((? = 1 AND `Password` IS NULL) OR (`Password` = ?)) AND ((? = 1 AND `Mail` IS NULL) OR (`Mail` = ?)) AND ((? = 1 AND `WMZ` IS NULL) OR (`WMZ` = ?)) AND ((? = 1 AND `Referer` IS NULL) OR (`Referer` = ?)) AND ((? = 1 AND `Level` IS NULL) OR (`Level` = ?)) AND ((? = 1 AND `Money` IS NULL) OR (`Money` = ?)))", con);
updateCommand.Parameters.AddRange(new OleDbParameter[] {
new OleDbParameter("Number", OleDbType.Integer, 0, "Number"),
new OleDbParameter("Nick", OleDbType.VarWChar, 0, "Nick"),
new OleDbParameter("Password", OleDbType.VarWChar, 0, "Password"),
new OleDbParameter("Mail", OleDbType.VarWChar, 0, "Mail"),
new OleDbParameter("WMZ", OleDbType.VarWChar, 0, "WMZ"),
new OleDbParameter("Referer", OleDbType.VarWChar, 0, "Referer"),
new OleDbParameter("Level", OleDbType.Integer, 0, "Level"),
new OleDbParameter("Money", OleDbType.Integer, 0, "Money"),
new OleDbParameter("Original_Number", OleDbType.Integer, 0, ParameterDirection.Input, false, 0, 0, "Number", DataRowVersion.Original, null),
new OleDbParameter("IsNull_Nick", OleDbType.Integer, 0, ParameterDirection.Input, 0, 0, "Nick", DataRowVersion.Original, true, null),
new OleDbParameter("Original_Nick", OleDbType.VarWChar, 0, ParameterDirection.Input, false, 0, 0, "Nick", DataRowVersion.Original, null),
new OleDbParameter("IsNull_Password", OleDbType.Integer, 0, ParameterDirection.Input, 0, 0, "Password", DataRowVersion.Original, true, null),
new OleDbParameter("Original_Password", OleDbType.VarWChar, 0, ParameterDirection.Input, false, 0, 0, "Password", DataRowVersion.Original, null),
new OleDbParameter("IsNull_Mail", OleDbType.Integer, 0, ParameterDirection.Input, 0, 0, "Mail", DataRowVersion.Original, true, null),
new OleDbParameter("Original_Mail", OleDbType.VarWChar, 0, ParameterDirection.Input, false, 0, 0, "Mail", DataRowVersion.Original, null),
new OleDbParameter("IsNull_WMZ", OleDbType.Integer, 0, ParameterDirection.Input, 0, 0, "WMZ", DataRowVersion.Original, true, null),
new OleDbParameter("Original_WMZ", OleDbType.VarWChar, 0, ParameterDirection.Input, false, 0, 0, "WMZ", DataRowVersion.Original, null),
new OleDbParameter("IsNull_Referer", OleDbType.Integer, 0, ParameterDirection.Input, 0, 0, "Referer", DataRowVersion.Original, true, null),
new OleDbParameter("Original_Referer", OleDbType.VarWChar, 0, ParameterDirection.Input, false, 0, 0, "Referer", DataRowVersion.Original, null),
new OleDbParameter("IsNull_Level", OleDbType.Integer, 0, ParameterDirection.Input, 0, 0, "Level", DataRowVersion.Original, true, null),
new OleDbParameter("Original_Level", OleDbType.Integer, 0, ParameterDirection.Input, false, 0, 0, "Level", DataRowVersion.Original, null),
new OleDbParameter("IsNull_Money", OleDbType.Integer, 0, ParameterDirection.Input, 0, 0, "Money", DataRowVersion.Original, true, null),
new OleDbParameter("Original_Money", OleDbType.Integer, 0, ParameterDirection.Input, false, 0, 0, "Money", DataRowVersion.Original, null)});
deleteCommand = new OleDbCommand("DELETE FROM `MainTable` WHERE ((`Number` = ?) AND ((? = 1 AND `Nick` IS NULL) OR (`Nick` = ?)) AND ((? = 1 AND `Password` IS NULL) OR (`Password` = ?)) AND ((? = 1 AND `Mail` IS NULL) OR (`Mail` = ?)) AND ((? = 1 AND `WMZ` IS NULL) OR (`WMZ` = ?)) AND ((? = 1 AND `Referer` IS NULL) OR (`Referer` = ?)) AND ((? = 1 AND `Level` IS NULL) OR (`Level` = ?)) AND ((? = 1 AND `Money` IS NULL) OR (`Money` = ?)))", con);
deleteCommand.Parameters.AddRange(new OleDbParameter[] {
new OleDbParameter("Original_Number", OleDbType.Integer, 0, ParameterDirection.Input, false, 0, 0, "Number", DataRowVersion.Original, null),
new OleDbParameter("IsNull_Nick", OleDbType.Integer, 0, ParameterDirection.Input, 0, 0, "Nick", DataRowVersion.Original, true, null),
new OleDbParameter("Original_Nick", OleDbType.VarWChar, 0, ParameterDirection.Input, false, 0, 0, "Nick", DataRowVersion.Original, null),
new OleDbParameter("IsNull_Password", OleDbType.Integer, 0, ParameterDirection.Input, 0, 0, "Password", DataRowVersion.Original, true, null),
new OleDbParameter("Original_Password", OleDbType.VarWChar, 0, ParameterDirection.Input, false, 0, 0, "Password", DataRowVersion.Original, null),
new OleDbParameter("IsNull_Mail", OleDbType.Integer, 0, ParameterDirection.Input, 0, 0, "Mail", DataRowVersion.Original, true, null),
new OleDbParameter("Original_Mail", OleDbType.VarWChar, 0, ParameterDirection.Input, false, 0, 0, "Mail", DataRowVersion.Original, null),
new OleDbParameter("IsNull_WMZ", OleDbType.Integer, 0, ParameterDirection.Input, 0, 0, "WMZ", DataRowVersion.Original, true, null),
new OleDbParameter("Original_WMZ", OleDbType.VarWChar, 0, ParameterDirection.Input, false, 0, 0, "WMZ", DataRowVersion.Original, null),
new OleDbParameter("IsNull_Referer", OleDbType.Integer, 0, ParameterDirection.Input, 0, 0, "Referer", DataRowVersion.Original, true, null),
new OleDbParameter("Original_Referer", OleDbType.VarWChar, 0, ParameterDirection.Input, false, 0, 0, "Referer", DataRowVersion.Original, null),
new OleDbParameter("IsNull_Level", OleDbType.Integer, 0, ParameterDirection.Input, 0, 0, "Level", DataRowVersion.Original, true, null),
new OleDbParameter("Original_Level", OleDbType.Integer, 0, ParameterDirection.Input, false, 0, 0, "Level", DataRowVersion.Original, null),
new OleDbParameter("IsNull_Money", OleDbType.Integer, 0, ParameterDirection.Input, 0, 0, "Money", DataRowVersion.Original, true, null),
new OleDbParameter("Original_Money", OleDbType.Integer, 0, ParameterDirection.Input, false, 0, 0, "Money", DataRowVersion.Original, null)});
adapter = new OleDbDataAdapter(selectCommand);
adapter.DeleteCommand = deleteCommand;
adapter.InsertCommand = insertCommand;
adapter.UpdateCommand = updateCommand;
adapter.TableMappings.AddRange(new DataTableMapping[] {
new DataTableMapping("Table", "MainTable", new DataColumnMapping[] {
new DataColumnMapping("Number", "Number"),
new DataColumnMapping("Nick", "Nick"),
new DataColumnMapping("Password", "Password"),
new DataColumnMapping("Mail", "Mail"),
new DataColumnMapping("WMZ", "WMZ"),
new DataColumnMapping("Referer", "Referer"),
new DataColumnMapping("Level", "Level"),
new DataColumnMapping("Money", "Money")})});
ds = new DataSet();
adapter.Fill(ds, "MainTable");
xml тоже хорошая тема, но для больших бд он имхо не подойдет, т.к. только на теги уйдет много килобайт.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot