2015-05-25 58 views
0
Baglanti.FnkBaglan(); 
SqlCommand DropDown = new SqlCommand("SELECT * FROM [Yazar]", Baglanti.baglan); 
SqlDataAdapter Adp = new SqlDataAdapter(DropDown); 
DataSet ds = new DataSet(); 
Adp.Fill(ds); 
DrpYazarSec.DataTextField = ds.Tables[0].Columns["Yazar_isim"].ToString() + " " + ds.Tables[0].Columns["Yazar_soyisim"].ToString(); 
DrpYazarSec.DataValueField = ds.Tables[0].Columns["YazarID"].ToString(); 
DrpYazarSec.DataSource = ds.Tables[0]; 
DrpYazarSec.DataBind(); 

我用这个代码,但这个错误发生;附加信息:DataBinding:'System.Data.DataRowView',Yazar_isim Yazar_soyisimadındabirözellikiçermiyor。 (一直没有Yazar_isim Yazar_soyisim)DataRowView问题,当我尝试从数据库中填充DropDownList

+0

我认为你需要用英语写您的文章,而不是土耳其 – Dusan

+0

@Dusan:很好,他需要把这种错误信息。事实上,他应该包括完整的例外,包括堆栈跟踪。 –

+0

附加信息:DataBinding:'system.data.datarowview'不包含名为Yazar_isim Yazar_soyisim的功能。 – ygzmglkc

回答

0

问题是由这个代码导致的:

DrpYazarSec.DataTextField = ds.Tables[0].Columns["Yazar_isim"].ToString() + " " + 
          ds.Tables[0].Columns["Yazar_soyisim"].ToString(); 

不能绑定文本多列,这是不可能的。

但是,您可以在查询中加入两列,例如:

SqlCommand DropDown = new SqlCommand("SELECT *, 
    [Yazar_isim] + ' ' + [Yazar_soyisim] AS [FullName] 
    FROM [Yazar]", Baglanti.baglan); 

... 

DrpYazarSec.DataTextField = "FullName"; 
DrpYazarSec.DataValueField = "YazarID"; 

... 
+0

谢谢,它工作。 – ygzmglkc