【发布时间】:2019-05-05 05:30:19
【问题描述】:
将输入的 texbox 值分配给 Sql 查询 |C#|Oracle
如何将文本框值分配给我的 SQL 查询 C#
在上图中,我输入了 Tablename = PERSONDETAILS 这个在 textBox1 中输入的值。Text 应该作为参数传递给我的 SQL 查询。所以在 SQl 查询中对表名进行硬编码会减少
我希望包含的实际代码
select dbms_metadata.get_ddl('TABLE',table_name,user) AS my_ddl from all_tables where owner ='HR' AND table_name ='PERSONDETAILS'"
代码:
OracleConnection con = new OracleConnection();
con.ConnectionString = conString;
con.Open();
OracleCommand cmd = con.CreateCommand();
cmd.Parameters.Add("userid", OracleDbType.Varchar2, 20).Value = textBox1.Text.ToString();
cmd.Parameters.Add("tableName", OracleDbType.Varchar2, 20).Value = texttablename.Text.ToString();
//cmd.CommandText = "select * from all_all_tables WHERE table_name=:tableName";
cmd.CommandText ="select dbms_metadata.get_ddl('TABLE',table_name,user) AS my_ddl from all_tables where owner = :userid AND table_name = :tableName";
OracleDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
textBox6.Text = reader.GetString(0);
}
con.Close();
【问题讨论】: