主题:[讨论]代码分析,不知道到底那里出错拉,请帮忙分析一下拉,不胜感激
private void showButton_Click(object sender, System.EventArgs e)
{
float condition_value = float.Parse(conditionValue.Text);
try
{
string myConnectString = "Persist Security Info=False;Integrated Security=SSPI;database=zhwPaper;server=CLC-31071999FBB\\CLC;Connect Timeout=30";
SqlConnection myConn = new SqlConnection(myConnectString);
myConn.Open();
SqlDataAdapter myAdp = new SqlDataAdapter("select serve_expense, execute_time, reliability, availability from serve_detail where serve_detail.No= '"+str+"'" ,myConn);
DataSet dst=new DataSet();
myAdp.Fill(dst);
int row = dst.Tables[0].Rows.Count;
int column = dst.Tables[0].Columns.Count;
float [][]serve_value = new float[row][];
for(int i=0;i<dst.Tables[0].Rows.Count; i++)
{
for(int j=0; j<dst.Tables[0].Columns.Count; j++)
{
//serve_value[i][j] = dst.Tables[0].Rows[i][j].ToString();
serve_value[i][j] = float.Parse((string)dst.Tables[0].Rows[i][j]);
}
}
//约束条件,进行值的重新定位
for(int i =0; i<row; i++)
{
if(serve_value[i][0]<condition_value)
{
serve_value[i][0] = condition_value;
}
}
//无量纲化
for(int i = 0; i<column; i++)
{
float min, max;
min = serve_value[0][i];
max = serve_value[0][i];
for(int j =1; j<row; j++)
{
if(serve_value[j][i]<min)
{
min = serve_value[j][i];
}
else
{
max = serve_value[j][i];
}
}
//进行无量纲化
float max_min = max-min;
for(int j=0;j<row;j++)
{
if(max_min != 0)
{
serve_value[j][i] = (serve_value[j][i] - min)/max-min;
}
else
{
serve_value[j][i] = 1;
}
}
}
//加权值处理
float []final = new float[column]; //final为加权处理后的集合
for(int i = 0; i<row; i++)
{
for(int j =0; j<column; j++)
{
final[j] +=serve_value[i][j]*quan_value[j]; //quan_value为权值数组
}
}
//选取最佳结果
float result = final[0];
int result_tag = 0;
for(int j=1; j<column; j++)
{
if(final[j]>result)
{
result = final[j];
result_tag = j;
}
}
label10.Text = dst.Tables[0].Rows[result_tag][0]+"、"+"best result ="+" result_tag";
}
catch(Exception c)
{
Console.WriteLine("读取数据错误:/n{0}",c.Message);
}
}
读取数据错误:/n将 varchar 值 'System.String[]' 转换为数据类型为 int 的列时发生语法错误。
上边是调试时,系统给出的错误,但是我怎么也没找到到底是那里出错拉
请那位大虾帮忙分析一下拉
不胜感激[em18][em18][em18][em18][em18][em18][em18][em18][em18][em18][em18][em18]
{
float condition_value = float.Parse(conditionValue.Text);
try
{
string myConnectString = "Persist Security Info=False;Integrated Security=SSPI;database=zhwPaper;server=CLC-31071999FBB\\CLC;Connect Timeout=30";
SqlConnection myConn = new SqlConnection(myConnectString);
myConn.Open();
SqlDataAdapter myAdp = new SqlDataAdapter("select serve_expense, execute_time, reliability, availability from serve_detail where serve_detail.No= '"+str+"'" ,myConn);
DataSet dst=new DataSet();
myAdp.Fill(dst);
int row = dst.Tables[0].Rows.Count;
int column = dst.Tables[0].Columns.Count;
float [][]serve_value = new float[row][];
for(int i=0;i<dst.Tables[0].Rows.Count; i++)
{
for(int j=0; j<dst.Tables[0].Columns.Count; j++)
{
//serve_value[i][j] = dst.Tables[0].Rows[i][j].ToString();
serve_value[i][j] = float.Parse((string)dst.Tables[0].Rows[i][j]);
}
}
//约束条件,进行值的重新定位
for(int i =0; i<row; i++)
{
if(serve_value[i][0]<condition_value)
{
serve_value[i][0] = condition_value;
}
}
//无量纲化
for(int i = 0; i<column; i++)
{
float min, max;
min = serve_value[0][i];
max = serve_value[0][i];
for(int j =1; j<row; j++)
{
if(serve_value[j][i]<min)
{
min = serve_value[j][i];
}
else
{
max = serve_value[j][i];
}
}
//进行无量纲化
float max_min = max-min;
for(int j=0;j<row;j++)
{
if(max_min != 0)
{
serve_value[j][i] = (serve_value[j][i] - min)/max-min;
}
else
{
serve_value[j][i] = 1;
}
}
}
//加权值处理
float []final = new float[column]; //final为加权处理后的集合
for(int i = 0; i<row; i++)
{
for(int j =0; j<column; j++)
{
final[j] +=serve_value[i][j]*quan_value[j]; //quan_value为权值数组
}
}
//选取最佳结果
float result = final[0];
int result_tag = 0;
for(int j=1; j<column; j++)
{
if(final[j]>result)
{
result = final[j];
result_tag = j;
}
}
label10.Text = dst.Tables[0].Rows[result_tag][0]+"、"+"best result ="+" result_tag";
}
catch(Exception c)
{
Console.WriteLine("读取数据错误:/n{0}",c.Message);
}
}
读取数据错误:/n将 varchar 值 'System.String[]' 转换为数据类型为 int 的列时发生语法错误。
上边是调试时,系统给出的错误,但是我怎么也没找到到底是那里出错拉
请那位大虾帮忙分析一下拉
不胜感激[em18][em18][em18][em18][em18][em18][em18][em18][em18][em18][em18][em18]