datagrid与dataset1捆绑,在datagrid的Update()对数据库的更新中,我定义了自己的InsertCommand1:
InsertCommand1.CommandText="insert into table_user (user,passwd) values (?,?);
InsertCommand1.Parameters.Add("user",System.Data.OleDb.OleDbType.VarChar,8,"user");
InsertCommand1.Parameters.Add("passwd",OleDbType.VarBinary,16);InsertCommand1.Parameters["passwd"].Value=这个值是user的md5加密,我已经写好,叫mymd5(string txt);
问题是现在=的右边怎么写??
InsertCommand1.Parameters["passwd"].Value=mymd5("user");这个mymd5("user")中的user是不是dataset中新增那些行的源列呢???
InsertCommand1.CommandText="insert into table_user (user,passwd) values (?,?);
InsertCommand1.Parameters.Add("user",System.Data.OleDb.OleDbType.VarChar,8,"user");
InsertCommand1.Parameters.Add("passwd",OleDbType.VarBinary,16);InsertCommand1.Parameters["passwd"].Value=这个值是user的md5加密,我已经写好,叫mymd5(string txt);
问题是现在=的右边怎么写??
InsertCommand1.Parameters["passwd"].Value=mymd5("user");这个mymd5("user")中的user是不是dataset中新增那些行的源列呢???
超难的题目啊 ~~~
InsertCommand1.Parameters["passwd"].Value=mymd5(InsertCommand1.Parameters["User"].Value);
InsertCommand1.Parameters.Add("@user",System.Data.OleDb.OleDbType.VarChar,8,"user");
InsertCommand1.Parameters.Add("@passwd",OleDbType.VarBinary,16);Oracle:
InsertCommand1.CommandText="insert into table_user (user,passwd) values (:user,:passwd);
InsertCommand1.Parameters.Add("user",System.Data.OleDb.OleDbType.VarChar,8,"user");
InsertCommand1.Parameters.Add("passwd",OleDbType.VarBinary,16);
C#的Update()函数就执行一次呀,没法用for循环之类。
InsertCommand1.Parameters["passwd"].SourceCulumn="passwd";
是不是要用
for语句对每行的DataViewRowState进行判断,然后在for里 把passwd=md5(userid)呢?
dataview里怎么对两个字段进行操作呢??而且整个表很大,for的话要把整个表(无论老的记录,新增记录)都找一遍了。
DataView dv2= new DataView(ds.Tables["ra_usr"], "", "usrnm,briddept", DataViewRowState.Added);
foreach( DataRowView drv2 in dv2)
{
drv2["passwd"] = Pub.MD5Pwd(drv2["usrid"].ToString().Trim()) ;
if ( drv2["briddept"].ToString().Trim().Length!=0)
{
drv2["brid"]=drv2["briddept"].ToString().Trim().Substring(0,4);
drv2["dept"]=drv2["briddept"].ToString().Trim().Substring(4,2);
}
}谢谢各位老大帮忙. :)