为什么获取不了参数值?
//代码
//外部
//dt = ds.Tables["GROUP"]
this.tbName.DataBindings.Add("Text",dt,"GROUP_NAME");
this.tbDes.DataBindings.Add("Text",dt,"REMARK");
//方法:
public static int UpdateGroup(string connectionString,DataSet ds)
{
SqlConnection conn = new SqlConnection(connectionString);
conn.Open();
SqlTransaction sqlTrans;
sqlTrans = conn.BeginTransaction();
SqlCommand updateCmd = conn.CreateCommand();
SqlCommand insertCmd = conn.CreateCommand();
updateCmd.Transaction = sqlTrans;
insertCmd.Transaction = sqlTrans;
SqlDataAdapter sqlDA = new SqlDataAdapter();
//分组信息
SqlParameter[] sqlParams = SqlHelperParameterCache.GetSpParameterSet(connectionString,"PROC_UA_OBJ_INS",false);
updateCmd.CommandType = CommandType.StoredProcedure;
insertCmd.CommandType = CommandType.StoredProcedure;
insertCmd.CommandText = "PROC_UA_OBJ_INS";
sqlParams[0].SourceColumn = "APP_ID";
sqlParams[0].SourceVersion = DataRowVersion.Current;
sqlParams[1].Value = 1;
sqlParams[2].Value = 1;
sqlParams[3].SourceColumn = "GROUP_NAME";
sqlParams[3].SourceVersion = DataRowVersion.Current;
// sqlParams[3].Value = ds.Tables["GROUP"].Rows[0]["GROUP_NAME"].ToString();
sqlParams[4].SourceColumn = "REMARK";
sqlParams[4].SourceVersion = DataRowVersion.Current;
// sqlParams[4].Value = ds.Tables["GROUP"].Rows[0]["REMARK"].ToString();
sqlParams[5].Value = 0;
insertCmd.Parameters.Add(sqlParams[0]);
insertCmd.Parameters.Add(sqlParams[1]);
insertCmd.Parameters.Add(sqlParams[2]);
insertCmd.Parameters.Add(sqlParams[3]);
insertCmd.Parameters.Add(sqlParams[4]);
insertCmd.Parameters.Add(sqlParams[5]);
insertCmd.Parameters.Add(sqlParams[6]);
sqlDA.UpdateCommand = updateCmd;
sqlDA.InsertCommand = insertCmd;
sqlDA.Update(ds.Tables["GROUP"]);
int iNewID = Convert.ToInt32(insertCmd.Parameters[6].Value);
sqlTrans.Commit();
conn.Close();
conn.Dispose();
return iNewID;
}
//现象:sqlParams[3]和sqlParams[4]无法获取值
//经我调试,发现ds.Tables["GROUP"].Rows[0]["GROUP_NAME"]中是有值的。说明与TextBox 绑定正确
//并且,我只要不与TextBox 绑定,手动设置DataTable的值就正确执行。
问题点数:20、回复次数:3Top
1 楼net_lover(【孟子E章】)回复于 2005-08-03 07:47:50 得分 20
string xx = ds.Tables["GROUP"].Rows[0]["REMARK"].ToString().Trim();
Debug.Write(xx);
sqlParams[4].Value = xx;
看看,检查xx是否真的有值,检查字段宽度是否超出定义。
Top
2 楼justin_chang(加油吧!)回复于 2005-08-03 08:13:24 得分 0
关注Top
3 楼elisabai(lan)回复于 2005-08-03 16:51:31 得分 0
注视Top




