c# - Foreach loop to see result in Rich text box but only seeing first query result.? -


i have table names in list box check if same tables has same columns. example

listbox3 has employee table name query has check if employee table has different columns.

this query working example: usera has employee table , userb has employee table too. after comparing employee table both user getting alter statements on richtextbox1.

depends on employee table suppose see result below;

alter table employee add description varchar2 (15) ;

alter table employee add city varchar2 (10) ;

but seeing:

alter table employee add description varchar2 (15) ;

 foreach (string items in listbox3.items)                     {                         using (oraclecommand crtcommand = new oraclecommand("with src as(select src.table_name src_table_name, src.column_name src_col_name, src.data_type src_data_type, src.data_length src_data_len, src.data_precision src_data_precision, src.data_scale src_data_scale, src.nullable src_nullable,decode(t.constraint_type,'p', 'primary key','u','unique','') src_cons  all_tab_columns src left join (select cc.column_name,uc.constraint_type user_cons_columns cc, user_constraints uc cc.constraint_name = uc.constraint_name , cc.table_name = uc.table_name) t on t.column_name = src.column_name table_name = '" + items + "' , owner='" + txtsrcuserid.text + "'), tgt as(select tgt.table_name tgt_table_name, tgt.column_name tgt_col_name, tgt.data_type tgt_data_type, tgt.data_length tgt_data_len, tgt.data_precision tgt_data_precision, tgt.data_scale tgt_data_scale, tgt.nullable tgt_nullable, decode(t.constraint_type,'p', 'primary key','u','unique','') tgt_cons all_tab_columns tgt left join (select cc.column_name,uc.constraint_type user_cons_columns cc, user_constraints uc cc.constraint_name = uc.constraint_name , cc.table_name = uc.table_name) t on t.column_name = tgt.column_name table_name = '"+items+"' , owner='" + txtdesuserid.text + "'), col_details as(select src.src_table_name, nvl(tgt.tgt_table_name, first_value(tgt_table_name) over(order tgt_table_name nulls last)) tgt_table_name, src.src_col_name, src.src_data_type, src.src_data_len, src.src_data_precision, src.src_data_scale, src.src_nullable,src_cons, tgt.tgt_col_name, tgt.tgt_data_type, tgt.tgt_data_len, tgt.tgt_data_precision, tgt.tgt_data_scale, tgt.tgt_nullable,tgt_cons src full outer join tgt on (src.src_col_name = tgt.tgt_col_name))select * (select case when tgt_data_type != src_data_type or tgt_data_len != src_data_len or tgt_data_precision != src_data_precision or tgt_data_scale != src_data_scale or tgt_nullable != src_nullable 'alter table ' || tgt_table_name || ' modify ' || tgt_col_name || ' ' || src_data_type || ' ' || case when src_data_type in ('date') null else case when src_data_type in ('varchar', 'varchar2') ' (' ||nvl(to_char(src_data_len), ' ') || ') 'else  decode(nvl(src_data_precision, -1), -1, null, nvl(to_char(src_data_precision), ' ') || ', ' || nvl(to_char(src_data_scale), ' ') || ')') end end || case when tgt_nullable = 'y' ' null ' else ' not null ' end || tgt_cons when tgt_col_name null 'alter table ' || tgt_table_name || ' add ' || src_col_name || ' ' ||  ' ' || ' ' || src_data_type || ' ' || case when src_data_type in ('date') null else case when src_data_type in ('varchar', 'varchar2')then '('|| nvl(to_char(src_data_len), ' ') || ') ' else  decode(nvl(src_data_precision, -1), -1, null, nvl(to_char(src_data_precision), ' ') || ', ' || nvl(to_char(src_data_scale), ' ') || ')')end end || tgt_cons when src_col_name null 'alter table '|| tgt_table_name ||' drop '||tgt_col_name end alter_statement col_details) alter_statement not null", conn1))                         {                             var result = crtcommand.executescalar();                              if (result != null)                             {                                 richtextbox1.appendtext(environment.newline);                                 richtextbox1.appendtext(result.tostring() + ";");                                 richtextbox1.appendtext(environment.newline);                             }                             else                             {                                 continue;                             }                          }                     } 

you can use oracledatareader below display results if have more records returning query, , never use inline parameters in sql, better use parameterized query avoid sql injection attacks.

using (oraclecommand crtcommand = new oraclecommand(sql, con)) using (oracledatareader reader = cmd.executereader()) {     while (reader.read())     {          if(!reader.isdbnull(0))                 richtextbox1.appendline(reader[0].tostring(); + ";");      } } 

Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -