public void CreateColumns(String dbPath, String database, String tableName, String fields) { IFormatter formatter = new BinaryFormatter(); SysColumns sc = new SysColumns(); String[] fieldslist = fields.Replace(")", "").Split(','); String path = dbPath + database + "/sysdb/syscolumns.obj"; Stream stream = new FileStream(path, FileMode.Open, FileAccess.Read); try { if (File.Exists(path)) { sc = (SysColumns)(formatter.Deserialize(stream)); Console.WriteLine(sc); stream.Close(); } foreach (String field in fieldslist) { ArrayList col = new ArrayList(); String[] field_def = field.Trim().Split(' '); String field_name = field_def[0]; String field_type = field_def[1]; col.Add(tableName); col.Add(field_name); col.Add(field_type); col.Add(null); sc.sys_column.Add(col); } if (File.Exists(path)) { File.Delete(path); } stream = new FileStream(path, FileMode.Create, FileAccess.Write); formatter.Serialize(stream, sc); stream.Close(); } catch (IOException i) { } catch (Exception e) { // TODO Auto-generated catch block } }
public void CreateColumns() { SysColumns st = new SysColumns(); IFormatter formatter = new BinaryFormatter(); String path = @databaseLocation + "/Sysdb/syscolumns.obj"; IFormatter ibin = new BinaryFormatter(); // create the binary formatter Stream strobj = new FileStream(@path, //file location FileMode.Create, // create folder FileAccess.Write, // write the file FileShare.None); ibin.Serialize(strobj, st); //written to the file strobj.Close(); }
public ArrayList FindValuePosition(String dbPath, String database, String tableName, String[] columnNames) { SysColumns sc = null; // Integer position = 0; IFormatter formatter = new BinaryFormatter(); ArrayList columnPositions = new ArrayList(); if (ValidTableName(dbPath, database, tableName)) { try { Stream stream = new FileStream(dbPath + database + "/sysdb/syscolumns.obj", FileMode.Open, FileAccess.Read); //ObjectInputStream ois = new ObjectInputStream(fis); sc = (SysColumns)(formatter.Deserialize(stream)); for (int i = 0; i < columnNames.Length; i++) { String columnName = columnNames[i].Trim(); int j = 0; foreach (ArrayList columns in sc.sys_column) { if (columns.Contains(tableName)) { if (columns.Contains(columnName)) { columnPositions.Add(j); } j = j + 1; } } } stream.Close(); } catch (IOException i) { } } return(columnPositions); }