public SqlCommand AddCommandParameter(string strComSql,string [] paraName,string [] ColName,SqlDbType[] sqltype,bool [] isNull,int[] FieldSize)
{
SqlCommand cmm = new SqlCommand();
cmm.CommandText = strComSql;
//cmm.Connection = this.conn;
for(int i=0;i<ColName.Length;i++ )
{
cmm.Parameters.Add(new SqlParameter(paraName[i], sqltype[i],
FieldSize[i],ParameterDirection.Input, isNull[i], ((System.Byte)(0)),((System.Byte)(0)),ColName[i] , DataRowVersion.Current, null));
}
return cmm;
}
{
SqlCommand cmm = new SqlCommand();
cmm.CommandText = strComSql;
//cmm.Connection = this.conn;
for(int i=0;i<ColName.Length;i++ )
{
cmm.Parameters.Add(new SqlParameter(paraName[i], sqltype[i],
FieldSize[i],ParameterDirection.Input, isNull[i], ((System.Byte)(0)),((System.Byte)(0)),ColName[i] , DataRowVersion.Current, null));
}
return cmm;
}
解决方案 »
- .net 一次执行多个oracle sql 语句
- webservice 返回json
- C#使用GDI+编程时的一些问题,假如要在一个panel中显示若干个Button,直接使用Button控件与使用GDI+绘制哪个效率高啊,跪求大侠指导!
- 一个vb/asp过气程序员的20天C#学习心得及成果,兼求职(上海)
- 怎样实现无边框MDIFORM???
- 關于自定義控件的名字問題(對大家可能是小問題,對我就是大問題了).
- 数据库高手看过来!!用sql语句统计表时遇到的问题
- 请教有关BUTTON触发事件
- 字符拆分问题,请教!
- com+,webservices,.net Remoting
- 这样吧Excel._Workbook ExcelWorkBook 的 ExcelWorkBook 对象保存到字节中去
- 求救:怎样实现不同按钮分别控制不同输入控件的验证功能?
//根据用户单击的菜单名字,来把相应的表填进ListView中。
public void Menu_Click(object sender, System.EventArgs e)
{
try
{
string strSql;
MenuItem Tmenu=(MenuItem)sender;
SqlDataReader myreader;
myDS=new DataSet();
DataClass CmbData=new DataClass();
//获取单击表的表名。
strSql="select tableEname from informationtable where tableCname='" + Tmenu.Text.Trim() + "'";
SqlCommand sqlcomm= new SqlCommand(strSql,CmbData.SqlConn);
myreader=sqlcomm.ExecuteReader();
myreader.Read();
strTableName=myreader.GetString(0);
//生成该表的查询语句。
strSql="select * from " + strTableName;
myreader.Close();
//set the DataSet
mySqlDA=new SqlDataAdapter(strSql,CmbData.SqlConn);
mySqlDA.Fill(myDS);
//listview 为该窗体中的对象
//为listview添加列名
for(int i=0;i<myDS.Tables[0].Columns.Count;i++)
{
lstAddr.Columns.Add(myDS.Tables[0].Columns[i].ColumnName , 100, HorizontalAlignment.Left);
} //把所有的Lable都设置为相应的列名
this.labNO.Text=myDS.Tables[0].Columns[0].ColumnName;
this.LabName.Text=myDS.Tables[0].Columns[1].ColumnName;
this.labMeno.Text=myDS.Tables[0].Columns[2].ColumnName;
//设置插入记录格式
//设置插入记录的SQL语句。
string strInsert="INSERT INTO "+ this.strTableName+"("+labNO.Text+"," + LabName.Text+","+this.labMeno.Text
+ ") VALUES (@Tid, @Tname, @Tmeno)";
//设置command
string [] strPara={"@Tid","@Tname","@Tmeno"};
string [] strFieldName={labNO.Text,LabName.Text,labMeno.Text};
bool [] FieldIsNull=new Boolean[myDS.Tables[0].Columns.Count];
int [] FieldSize=new Int[3];
//取得Table中,每一列的数据类型。
SqlDbType[] sqlType=new SqlDbType[myDS.Tables[0].Columns.Count];
for(int i=0;i<myDS.Tables[0].Columns.Count;i++)
{
sqlType[i]=(SqlDbType)myDS.Tables[0].Columns[i].DataType;
FieldIsNull[i]=myDS.Tables[0].Columns[i].AllowDBNull;
FieldSize[i]=myDS.Tables[0].Columns[i].MaxLength;
} mycomm=CmbData.AddCommandParameter(strInsert,strPara,strFieldName,sqlType,FieldIsNull,FieldSize);
foreach(DataRow myRow in myDS.Tables[0].Rows)
{
//添加进ListView表中
ListViewItem lstViewItem=new ListViewItem();
int i=0;
foreach(DataColumn myColumn in myDS.Tables[0].Columns)
{
MessageBox.Show(myRow[myColumn].ToString() );
//添加第一项;
if(i==0)
{
lstViewItem.Text=myRow[myColumn].ToString();
i++;
}
else
lstViewItem.SubItems.Add(myRow[myColumn].ToString());
}
lstAddr.Items.Add(lstViewItem);
}
}
catch(Exception myExce)
{
MessageBox.Show(myExce.ToString());
}
}
switch (Type.GetTypeCode(t)) {
case TypeCode.Boolean:
return SqlDbType.Bit;
case TypeCode.Byte:
return SqlDbType.TinyInt;
case TypeCode.DateTime:
return SqlDbType.DateTime;
case TypeCode.Decimal:
return SqlDbType.Decimal;
case TypeCode.Double:
return SqlDbType.Float;
case TypeCode.Int16:
return SqlDbType.SmallInt;
case TypeCode.Int32:
return SqlDbType.Int
case TypeCode.Int64:
return SqlDbType.BigInt;
case TypeCode.SByte:
return SqlDbType.TinyInt;
case TypeCode.Single:
return SqlDbType.Real;
case TypeCode.String:
return SqlDbType.NVarChar;
case TypeCode.UInt16:
return SqlDbType.SmallInt;
case TypeCode.UInt32:
return SqlDbType.Int;
case TypeCode.UInt64:
return SqlDbType.BigInt;
case TypeCode.Object:
return SqlDbType.Variant;
}
}
return SqlDbType.Variant;改一下:
default:
if (t == typeof(byte[])) {
return SqlDbType.Binary;
}
return SqlDbType.Variant;