2014-10-15 2 views
0

Мне нужно привязать gridview, выбрав раскрывающийся список. При использовании приведенного ниже кода генерируйте одну ошибку. Ошибка: «невозможно преобразовать из« string »в int». Как я могу решить эту проблему. Пожалуйста помогите.не может преобразовать из 'string' в 'int?' 8

Код:

protected void ddlVersionNo_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     ShadingAnalysisDataSetTableAdapters.tbl_ShadingAnalysisTableAdapter adp1; 
     adp1 = new ShadingAnalysisDataSetTableAdapters.tbl_ShadingAnalysisTableAdapter(); 
     DataTable dt = new DataTable(); 
     dt = adp1.GetGridData(ddlSiteID.SelectedValue, ddlVersionNo.SelectedValue); //error is shown here 
     GridView1.DataSource = dt; 
     GridView1.DataBind(); 
    } 

SQL запросов:

SELECT Site_ID, version_number,A,B FROM tbl_ShadingAnalysis WHERE [email protected]_ID AND [email protected]_number 

База данных:

enter image description here

+1

На какой строке точно? Каков ваш метод GetGridData? –

+1

Можете ли вы хотя бы дать нам подсказку, какая строка/etc сообщает об этом? Я * предполагаю *, что это 'GetGridData'; так: что такое подпись этого метода? 'DropDownList.SelectedValue' является' string' ... –

ответ

2

Я могу только догадаться из образа, который GetGridData имеет подпись:

DataTable GetGridData(string siteId, int versionNumber) 

в этом случае, так как DropDownList.SelectedValue является string, вам нужно разобрать:

DataTable dt = adp1.GetGridData(
    ddlSiteID.SelectedValue, int.Parse(ddlVersionNo.SelectedValue)); 
+0

'VerionNumber' имеет значение NULL, поэтому второй параметр является' int? '(Название также предлагает его). –

+0

+1 Это, по-видимому, логический вывод из предоставленной информации. –

+0

@TimSchmelter размещенный пользователем SQL с именем 'version_number = @ version_number' - так что либо параметр не является нулевым, либо разбит; p –

1

Вам необходимо отформатировать Site_ID как «ИНТ» или создать новый первичный ключ.

SELECT Site_ID, version_number,A,B FROM tbl_ShadingAnalysis WHERE [email protected]_ID AND [email protected]_number 

База данных должна иметь первичный ключ, который является целым!

Смежные вопросы