已建数据库bk,表sd,字段名:a0,a1,a2,a3,a4,a5,a6...a19(均为char(20))现将数组(string[20] cc)中的值添加到数据库中:bkDataContext db = new bkDataContext(connStr);
sd p = new sd();
for (int i = 0; i <= 20; i++)
{
string aa = "A" + i.ToString();
p.????= cc[i]();
}请问:应在[ ???? ]处写什么代码才能自动替换成相应字段?请各位高手赐教!谢谢!
sd p = new sd();
for (int i = 0; i <= 20; i++)
{
string aa = "A" + i.ToString();
p.????= cc[i]();
}请问:应在[ ???? ]处写什么代码才能自动替换成相应字段?请各位高手赐教!谢谢!
解决方案 »
- 使用WeifenLuo.WinFormsUI.Docking控件如何让打开的窗体居中
- 怎样在IIS信息服务管理器里设置,使IIS能够获取计算机的windows凭据
- 请各高手帮我看下,
- 如何在服务器端创建一个全局的对象
- 调用的目标发生异常 targetinvocationexception
- 用C#写了个摄像头捕捉图像的控件,不知道如何才能在vb6中使用?
- 通过代码使用事务或者通过服务器端使用事务,哪一个效率好一些呢?
- 下载了个skinengine,怎样用在C#的窗口上啊。。看不懂奇怪的说明书
- C#调用一个VC写的DLL时遇到的问题
- 有关在C#中改变目录以后如何打开的问题
- 二进制流“0”不包含有效的 BinaryHeader。这可能是由于无效流,或由于在序列化和反序列化之间的对象版本更改。
- 【新手求助】怎样在启动下面这个线程时,创建一个button
System.Reflection.PropertyInfo propertyInfo = targetObj.GetType().GetProperty(fieldsName);
propertyInfo.SetValue(targetObj, Enum.ToObject(propertyInfo.PropertyType, reader.GetValue(i)), null);
Relection,正解
//写几句如何拿到某个Type所有属性的代码
//sd是楼主的类名.
Type t = typeof(ds);
PropertyInfo[] propInfoes = t.GetProperties();
我就是要进行循环赋值到sd表中的各个字段中:
for (int i = 0; i <= 20; i++)
{
string aa = "a" + i.ToString(); //当i=1时,aa="a1",a1表示字段名
p.????= cc[i]; //p是表sd(sd是数据表的名称)的一个实体,p.a1表示表sd的a1字段并用cc[1]赋值
}
如果直接写成p.aa=cc[i],代码出错;[ ???? ]用什么代码能达到(p.a0=cc[0]、p.a1=cc[1].....)循环赋值到sd表中的各个字段中的效果。
p.aa=cc[i],代码出错?
什么错误?cc[i]是字符串 , 你定义的实体类中aa是什么类型,如果不是string,当然出错了
试试:
System.Reflection.PropertyInfo propertyInfo = p.GetType().GetProperty(aa);
propertyInfo.SetValue(p,cc[i], null);