C# 调用一个方法,内有一个参数,执行SQL查询语句,并将结果返回,该方法如何写?
string connectionstring="连接字符串";
string SQLString ="SQL命令";
string RE="";
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
DataSet ds = new DataSet();
try
{
connection.Open();
OleDbDataAdapter command = new OleDbDataAdapter(SQLString, connection);
command.Fill(ds, "ds");
}
catch (System.Data.OleDb.OleDbException ex)
{
;
}
RE= ds.Tables[0].Row[0][0];
}
最简单的:
public void quary(String sql){
数据库连接的代码,
ps=ct.prepareStatement(sql);
rs=ps.executeQuery();
}
上一楼的用的是反射,我提供的是最基础的,其实还可以抽象
textbox1.text=ds.Table[0].Rows[0][0].ToString(); //如果你要的数据不在第一行第一列,把Rows[0][0]中的两个0换成你要的数据所在的行、列编号就可以啦。
当然你如果你要的数据在第一行第一列,你可以用方法:SqlCommand.ExecuteScalar() 方法(执行查询,并返回查询所返回的结果集中第一行的第一列。忽略其他列或行。)
上面两种都可以,第一种更灵活但不直接
你先拖一个 Textbox 文本框
TextBox1.Text =
using (SqlCommand cmd = new SqlCommand(“select ID from Table where 你的条件”, "你的数据库连接字符串"))
{
try
{
object obj = cmd.ExecuteScalar();
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
TextBox1.Text = obj.ToString(); //数据库结果值给文本框
}
}
catch (System.Data.SqlClient.SqlException e)
{
throw e;
}
}
///没有进行错误捕获。
public int Test(string sql)
{
SqlConnection con = new SqlConnection("数据库连接字符串");
SqlCommand cmd = new SqlCommand(sql, con);
con.Open();
object o = cmd.ExecuteScalar();//好象是这么拼的,就是查询第一行第一列
//的方法。
con.Close();
if (o == null)
return -1;
else
return (int)o;//保证o为int型。可以先用int.TryParse转一下。
}
public int TextBox( string tiaojian)
{
DataTable dt= (查询类)"select * from table where 列名=tiaojian";
int a = int.Parse(dt.Rows[0][0].ToString());
return a;
}
this.textbox.text=textbox(传入的参数);
融哀克痒: ///没有进行错误捕获.public int Test(string sql) { SqlConnection con = new SqlConnection("数据库连接字符串"); SqlCommand cmd = new SqlCommand(sql, con); con.Open(); object o = cmd.ExecuteScalar();//好象是这么拼的,就是查询第一行第一列 //的方法.con.Close(); if (o == null) return -1; else return (int)o;//保证o为int型.可以先用int.TryParse转一下.}
文昌市13695821080: C#如何在线程里调用带参数的方法 - ?
融哀克痒: 1)在A类中添加一个线程方法do_funclass A{ // 你原来的线程函数 void fun(string str){ …… } string s; //添加一个属性,可以传入参数 public string para { get{return this.s;} set{this.s = value;} } // 新加线程方法 public void do_fun() { // 调用你原来的线程函数 fun(s); }}2)传入参数并调用线程A a = new A();a.para = "传入的字符串";Thread t = new Thread(a.do_fun);t.Start();
文昌市13695821080: c# 委托调用带参数的函数 - ?
融哀克痒: 委托是C#中的一种引用类型,类似于C/C++中的函数指针.与函数指针不同的是,委托是面向对象、类型安全的,而且委托可以引用静态方法和实例方法,而函数指针只能引用静态函数.委托主要用于 .NET Framework 中的事件处理程序和回调...
文昌市13695821080: 在C#中调用带有参数的SQL存储过程 - ?
融哀克痒: private void Save() { string sql = "select count(*) from login where UID = @uid and PWD = @pwd"; SqlParameter[] param=new SqlParameter[2]; param[0] =new SqlParameter("@aaa",SqlDbType.Int); param[0].Value = this.Login_UID.Text ; ...
文昌市13695821080: 在C#中调用一个dll函数,其中有个参数为 hdc,如何在C#中得到这个值并传给这个参数呢??
融哀克痒: 用IntPtr类型,Hdc一般是指绘图设备句柄,用Graphics的成员方法GetHdc获得,Graphics可以用静态方法FromHwnd创建某个窗体的绘图器,把某个窗体的Handle传给他就可以了,如果Handle传0,则创建的是整个屏幕的绘图器.
文昌市13695821080: C#中实例化线程时,调用的方法有参数怎么办??
融哀克痒: 是构造函数吗 public void Download(rang[i],rang[i+1]) { this.Rang[i] = rang[i]; this.Rang[i+1] = rang[i+1]; } public void Download(){} 下面就是封装字段完了创建对象赋值 最后调用的时候系统默认是无参的构造函数 所以你要改下 调用它有参数的 比如方法名点Download(rang[i],rang[i+1]) 要不是构造函数 你复制我名字到QQ昵加我 答案是李超 我也是学编程的 交流下
文昌市13695821080: c#多个线程同时执行一个带参数的方法 - ?
融哀克痒: methodA() 要变成 methodA(object xxx) { int i = (int)xxx; } Thread的委托有2个重载,一个是不带参数,另一个是带object参数,你还可以:methodA(object xxx) { objecct[] xx = (objecct[])xxx;// 这样是传递多个参数 }
文昌市13695821080: C#中的一个方法 方法里带有参数和没有参数的有什么区别.最好给点实例 - ?
融哀克痒: 带有参数的,在使用时,必须传入正确类型和个数的参数,才能使用. 没有参数的,使用时,就不能传入任何参数.public void test(int a){} //有参数,使用时,只能采用类似这个方式 test(10); public void test(){} //无参数,使用时,只能是 test();
文昌市13695821080: c#在同一类中在一个方法里如何调用的其他带参方法?麻烦大神讲解. - ?
融哀克痒: 如果在同一个方法的类可以直接调用,方法名(参数,参数,,,,),如果不在同一个类则 需要调用的方法所在的类 CLASS CL=NEW CLASS(); CL.需要调用的方法(参数,参数,,,,,)
文昌市13695821080: C#中参数返回问题,如果想要在函数b中调用a的内部参数m,n,p.该怎么改正下面这个程序呢? - ?
融哀克痒: 最好的办法是使用类;其次你可以这样修改函数a;static double a(char c) { double m; double n; double p; if(c=='m'){return m;} else if(c=='n'){return n;} else{return p;} } 在b中就可以使用了 static void b() { double M=a('m'); double N=a('n'); double P=a('p'); //一串代码 } //全天在线可以详谈