我收到错误:
未处理的类型' System.InvalidCastException'发生在System.Data.dll
中其他信息:无法将参数值从ComboBox转换为String。
我错过了什么?
int n,m,i=0,tempNum,lines;
int NumberOfIds=0;
ifstream read("input2.txt");
while(read>>n>>m){
if (i==0){
tempNum=n;
}
if (tempNum != n){
NumberOfIds++;
}
tempNum = n;
i++;
}
lines=i-1;
//printf("%d", j);
int** idElements = new int*[NumberOfIds];
int* ids = new int[NumberOfIds];
int* numberOfIdElements = new int[NumberOfIds];
// Rewinds file
read.clear();
read.seekg(0, ios::beg);
int counter = 0;
NumberOfIds=0;
while(read>>n>>m){
if (tempNum != n){
numberOfIdElements[NumberOfIds] = counter;
NumberOfIds++;
counter = 0;
}
tempNum = n;
counter++;
i++;
}
for(int k = 0; k < NumberOfIds; ++k)
idElements[k] = new int[numberOfIdElements[k]];
答案 0 :(得分:0)
我猜你的代码可能会尝试将参数值设置为对象,而你想要的是将它们设置为这些对象中的文本值。
例如,在第一个中,这个:
command.Parameters.Add("@Donor_ID", SqlDbType.NChar).Value = txtDonor_ID
应该是更像这样的东西:
command.Parameters.Add("@Donor_ID", SqlDbType.NChar).Value = txtDonor_ID.Text
等等。
答案 1 :(得分:0)
我猜cbSex.SelectedItem是ComboBox.SelectedItem类型对象。要从ComboBox.SelectedItem获取字符串值,您必须使用SelectedItem.Text或SelectedValue。如果txtDonor_ID是TextBox类型变量,那么你应该使用txtDonor_ID.Text。对所有其他控件都这样做。
txtDonor_ID.Text
cbSex.SelectedItem.Text or cbSex.SelectedValue