Exemplo n.º 1
0
 void GetTableColumns(DbSchemaTable table)
 {
     try
     {
         OpenConnection();
         string table_name = table.table_name;
         DataTable schema = dbConnection.GetSchema("Columns");
         foreach (DataRow row in schema.Rows)
         {
             if (row["TABLE_NAME"].ToString() == table_name)
             {
                 DbSchemaColumn column = new DbSchemaColumn();
                 foreach (DataColumn col in schema.Columns)
                 {
                     column.SetItem(col.ColumnName, row[col.ColumnName].ToString());
                 }
                 table.AddColumn(column);
             }
         }
     }
     catch (DbException ex)
     {
         Show(ex);
     }
     CloseConnection();
 }
Exemplo n.º 2
0
        public string CreateDeleteStatement1(DbSchemaTable table)
        {
            Stream     stream       = Assembly.GetExecutingAssembly().GetManifestResourceStream("Database2Sharp.TemplateFile.cs");
            TextReader reader       = new StreamReader(stream);
            string     TemplateText = reader.ReadToEnd();

            string TemplateStart = "//DeleteStatement1Start";
            string TemplateEnd   = "//DeleteStatement1End";
            int    srart_pos     = TemplateText.IndexOf(TemplateStart);
            int    end_pos       = TemplateText.IndexOf(TemplateEnd);

            srart_pos += TemplateStart.Length;
            string DeleteTemplate = TemplateText.Substring(srart_pos, end_pos - srart_pos);

            string model = table.table_name;
            string Model = TableName2ModelName(model);

            string DeleteCode = DeleteTemplate.Replace("Model", Model);

            DeleteCode = DeleteCode.Replace("model", model);
            DeleteCode = DeleteCode.Replace("table_name", table.table_name);
            DeleteCode = DeleteCode.Replace("SqlConnection", DbConnectionTypeName);
            DeleteCode = DeleteCode.Replace("SqlCommand", DbCommandTypeName);

            Show(DeleteCode);
            return(DeleteCode);
        }
Exemplo n.º 3
0
        public string CreateSelectStatement1(DbSchemaTable table)
        {
            Stream     stream       = Assembly.GetExecutingAssembly().GetManifestResourceStream("Database2Sharp.TemplateFile.cs");
            TextReader reader       = new StreamReader(stream);
            string     TemplateText = reader.ReadToEnd();

            string TemplateStart = "//SelectStatement1Start";
            string TemplateEnd   = "//SelectStatement1End";
            int    srart_pos     = TemplateText.IndexOf(TemplateStart);
            int    end_pos       = TemplateText.IndexOf(TemplateEnd);

            srart_pos += TemplateStart.Length;
            string SelectTemplate = TemplateText.Substring(srart_pos, end_pos - srart_pos);

            string model        = table.table_name;
            string Model        = TableName2ModelName(model);
            string ReadColumns  = "\n";
            string DefineStream = "";

            foreach (DbSchemaColumn column in table.Columns)
            {
                string colname = column.column_name;
                ReadColumns += "\t\t\t";
                switch (GetSharpTypeName(column.data_type))
                {
                case "int":
                    ReadColumns += string.Format("{0}.{1} = reader.GetInt32(\"{1}\");\n", model, colname);
                    break;

                case "string":
                    ReadColumns += string.Format("{0}.{1} = reader.GetString(\"{1}\");\n", model, colname);
                    break;

                case "DateTime":
                    ReadColumns += string.Format("{0}.{1} = reader.GetDateTime(\"{1}\");\n", model, colname);
                    break;

                case "byte[]":
                    DefineStream = "Stream st=null;";
                    ReadColumns += string.Format("st = reader.GetStream(\"{0}\");\n", colname);
                    ReadColumns += "\t\t\t" + string.Format("{0}.{1} = new byte[st.Length];\n", model, colname);
                    ReadColumns += "\t\t\t" + string.Format("st.Read({0}.{1},0,st.Length);\n", model, colname);
                    break;
                }
            }
            string SelectCode = SelectTemplate.Replace("Model", Model);

            SelectCode = SelectCode.Replace("model", model);
            SelectCode = SelectCode.Replace("table_name", table.table_name);
            SelectCode = SelectCode.Replace("SqlConnection", DbConnectionTypeName);
            SelectCode = SelectCode.Replace("SqlCommand", DbCommandTypeName);
            SelectCode = SelectCode.Replace("SqlDataReader", DbDataReaderTypeName);
            SelectCode = SelectCode.Replace("//DefineStream", DefineStream);
            SelectCode = SelectCode.Replace("//ReadColumns", ReadColumns);
            Show(SelectCode);
            return(SelectCode);
        }
Exemplo n.º 4
0
 public DbModel CreateModule(DbSchemaTable table)
 {
     string ModelName = TableName2ModelName(table.table_name);
     DbModel model = new DbModel(ModelName);
     foreach(DbSchemaColumn column in table.Columns)
     {
         string colname = column.column_name;
         string typename = GetSharpTypeName(column.data_type);
         model.DataMembers[colname] = typename;
     }
     return model;
 }
Exemplo n.º 5
0
        public string CreateInsertStatement(DbSchemaTable table)
        {
            Stream     stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Database2Sharp.TemplateFile.cs");
            TextReader reader = new StreamReader(stream);

            string TemplateText = reader.ReadToEnd();
            int    srart_pos    = TemplateText.IndexOf("//InsertStatementStart");
            int    end_pos      = TemplateText.IndexOf("//InsertStatementEnd");

            srart_pos += "//InsertStatementStart".Length;
            string InsertTemplate = TemplateText.Substring(srart_pos, end_pos - srart_pos);

            string model           = table.table_name;
            string Model           = TableName2ModelName(model);
            string ColunmNameList  = "";
            string ColumnParamList = "";
            string SetParameters   = "\n";
            int    index           = 0;

            foreach (DbSchemaColumn column in table.Columns)
            {
                string colname = column.column_name;
                if (colname == "id")
                {
                    continue;
                }
                ColunmNameList  += colname;
                ColumnParamList += "@" + colname;
                SetParameters   += "\t\t\t";
                SetParameters   += string.Format("cmd.Parameters.AddWithValue(\"@{0}\", {1}.{0});\n", colname, model);
                if (++index < table.Columns.Count - 1)
                {
                    ColunmNameList  += ',';
                    ColumnParamList += ',';
                }
            }
            string InsertCode = InsertTemplate.Replace("Model", Model);

            InsertCode = InsertCode.Replace("model", model);
            InsertCode = InsertCode.Replace("table_name", table.table_name);
            InsertCode = InsertCode.Replace("SqlConnection", DbConnectionTypeName);
            InsertCode = InsertCode.Replace("SqlCommand", DbCommandTypeName);
            InsertCode = InsertCode.Replace("ColunmNameList", ColunmNameList);
            InsertCode = InsertCode.Replace("ColumnParamList", ColumnParamList);
            InsertCode = InsertCode.Replace("//SetParameters", SetParameters);

            //Show(InsertTemplate);
            Show(InsertCode);
            return(InsertCode);
        }
Exemplo n.º 6
0
 void GetTables()
 {
     try
     {
         Tables.Clear();
         OpenConnection();
         DataTable schema = dbConnection.GetSchema("Tables");
         foreach(DataRow row in schema.Rows)
         {
             DbSchemaTable table = new DbSchemaTable();
             foreach(DataColumn col in schema.Columns)
             {
                 table.SetItem(col.ColumnName, row[col.ColumnName].ToString());
             }
             Tables.Add(table);
         }
     }
     catch(DbException ex)
     {
         Show(ex);
     }
     CloseConnection();
 }