不好意思,忙中出错,请看下面的源码int col_count = ds.Tables[dbTbName].Columns.Count;
SqlParameter[] sp = new SqlParameter[col_count-1];
//i=1主要是为了把索引列cid去掉
for(int i=1;i<col_count;i++){
sp[i-1]=new SqlParameter();
sp[i-1].ParameterName = "@"+ds.Tables[dbTbName].Columns[i].ColumnName;
//下面两行出错,实在搞不定:(
sp[i-1].SqlDbType= ds.Tables[dbTbName].Columns[i].DataType;
sp[i-1].Size = Sizeof(ds.Tables[dbTbName].Columns[i].DataType);
//上面的两行出错,实在搞不定:(
sp[i-1].SourceColumn=ds.Tables[dbTbName].Columns[i].ColumnName;
this.sqlInsertCommand1.Parameters.Add(sp[i-1]);
}
SqlParameter[] sp = new SqlParameter[col_count-1];
//i=1主要是为了把索引列cid去掉
for(int i=1;i<col_count;i++){
sp[i-1]=new SqlParameter();
sp[i-1].ParameterName = "@"+ds.Tables[dbTbName].Columns[i].ColumnName;
//下面两行出错,实在搞不定:(
sp[i-1].SqlDbType= ds.Tables[dbTbName].Columns[i].DataType;
sp[i-1].Size = Sizeof(ds.Tables[dbTbName].Columns[i].DataType);
//上面的两行出错,实在搞不定:(
sp[i-1].SourceColumn=ds.Tables[dbTbName].Columns[i].ColumnName;
this.sqlInsertCommand1.Parameters.Add(sp[i-1]);
}
sp[i-1].SqlDbType= ds.Tables[dbTbName].Columns[i].DataType;
这行出错,是因为DataType无法转换成SqlDbType
for(int i=1;i<col_count;i++){
this.sqlInsertCommand1.Parameters.Add("@"+ds.Tables[dbTbName].Columns[i].ColumnName, ds.Tables[dbTbName].Columns[i].DataType, Sizeof(ds.Tables[dbTbName].Columns[i].DataType), ds.Tables[dbTbName].Columns[i].ColumnName);
}
ds.Tables[dbTbName].Columns[i].DataType 是TYPE 类,如果你真想让它自动分配类型的话你可以试试System.Data.SqlClient.SqlCommandBuilder.DeriveParameters ()它会HELP YOU把DbType搞定的
help me
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
SetStyle(ControlStyles.UserPaint,true);
SetStyle(ControlStyles.AllPaintingInWmPaint,true);
SetStyle(ControlStyles.DoubleBuffer,true);
SetStyle(ControlStyles.ResizeRedraw, true);
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/daab-rm.asp