怎么将sql中select语句选出的值赋给个变量。C#中。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么将sql中select语句选出的值赋给个变量。C#中。相关的知识,希望对你有一定的参考价值。

这要看select语句选出的值是什么样的值,是单个的值,还是一列值,如果是一个值,则定义一个变量直接赋值就好;如果是一列值,则可以用for循环给变量赋值。追问

能给个例子么,谢谢了。

追答

你有邮箱吗?发个小程序给你吧!

参考技术A 假设,
语句select id,name,code from t_emp,别名"emp"
1.单一变量赋值:
string id=ds.Tables["emp"].rows[0]["id"].value.tostring();
2.集合类的
ArrayList alNames=new ArrayList();
foreach(datarow dr in ds.Tables["emp"].rows)

alNames.add(dr["name"]).value.tostring();

3.向控件绑定:(ListBox)
lbxObj.DataSource = ds.Tables["t"];
lbxObj.DisplayMember = "name";
lbxObj.ValueMember = "id";
4.向控件绑定:(datagridview)
objdgv.datasource=ds.Tables["t"];追问

额 不好意思没懂你说的,我这个是先建了个SqlConnection,SqlCommand对象在c#中,然后cmd.ExecuteReader()执行的语句,但这时候我不知道怎么把那个select选出的结果保存起来。

追答

给你个类吧,直接实例化调用查询方法.
public class Demo

SqlConnection con;
SqlDataAdapter sda;
SqlCommand sc;
DataSet ds;

//设置连接
public Demo()

try

//本地测试数据
con = new SqlConnection("server=.;database=EXPDB;uid=sa;pwd=;");
con.Open();

catch (Exception ex)

throw ex;



public DataSet getDS(string sql, string tableName)

try


ds = new DataSet();
//con.Open();
sda = new SqlDataAdapter();
sda.SelectCommand = new SqlCommand(sql, con);
sda.SelectCommand.CommandTimeout = 180;
sda.Fill(ds, tableName);
return ds;

catch (Exception ex)

//throw ex;
return null;


追问

这个就是SqlDataAdapter 的SelectCommand 代替.ExecuteReader方法,然后就可以用SqlDataAdapter 的fill方法填充到dataset的数据里了,是这样么。但你那个tableName没看太懂,麻烦你讲下吧,再次感谢你了在这,

追答

tableName就是你查询结果(表)的别名.
上面回答你时不是有:
ds.Tables["emp"]么,那个例子里"emp"就是这个别名

本回答被提问者采纳

VC中如何将一个二维数组的值赋给另一个二维数组?只能用一行。

其中一个是函数型式的
arrayB = change(m, arrayA);
这样好像不可以。。

//---------------------------------------------------------------------------

#include <stdio.h>
#include <string.h>
int main(void)

int a[2][2]=1,2,3,4,b[3][3]=0,i;

memcpy(b,a,sizeof(a));//把a数组的所有元素复制到b数组中

for (i = 0; i<9; i++)
printf("%d ",b[i/3][i%3]);
if ((i+1)%3==0) putchar('\n');

return 0;

//---------------------------------------------------------------------------
参考技术A 什么意思,什么叫"其中一个是函数型式的"

只用一行的话,可以用memcpy函数实现,前提是两个数组各个维数下的元素个数是相同的本回答被提问者和网友采纳
参考技术B 如果声明和定义变量那一行不算的话可以这样:
int a[2][3]=1,2,3,4,5,6,b[2][3];
memcpy((char *)b,(char *)a,2*3*sizeof(int));
参考技术C 把a赋给b
char a[5]=0;
char b[5];
memcpy(b,a,5);//b是目的地址,a是源地址,5是要拷贝的字节数

以上是关于怎么将sql中select语句选出的值赋给个变量。C#中。的主要内容,如果未能解决你的问题,请参考以下文章

怎么将mysql select出来的值赋给java的变量?

sql server 2000 如何把select的值赋给一个变量

oracle中怎么select出一个值赋给变量,然后另一句话使用该变量?

在access中用vba如何把SQL语句查询到的一个值赋给变量?

在c语言里怎么把第一个变量的值赋给第二个变量

nginx配置文件中怎么把hostname的值赋给其它变量