我在C#中有这样一段代码sqlConn = new SqlConnection(strConn);
sqlCommand2 = new SqlDataAdapter("UPDATE_ADMIN_LASTLOGONTIME",sqlConn);//UPDATE_ADMIN_LASTLOGONTIME是SQL数据库中的一个存储过程。具体下面有写。//这一段是设置更新的参数,就是说要把原来的值更新成什么样。
sqlCommand2.UpdateCommand.CommandType = CommandType.StoredProcedure;
sqlCommand2.UpdateCommand.Parameters.Add(
new SqlParameter("@strName",SqlDbType.VarChar,20));
sqlCommand2.UpdateCommand.Parameters["@strName"].Value = strLogName;//strLogName已经有赋值
sqlCommand2.UpdateCommand.Parameters.Add(
new SqlParameter("@strDate",SqlDbType.DateTime,20));
sqlCommand2.UpdateCommand.Parameters["@strDate"].Value = DateTime.Now;在存储过程UPDATE_ADMIN_LASTLOGONTIME中:CREATE PROCEDURE UPDATE_ADMIN_LASTLOGONTIME 
@strAdminName varchar(20),
@strDate datetime 
 AS
Update ADMINISTRATOR SET ADMIN_TIME = @strDate Where ADMIN_NAME=@strAdminName
GO我的问题是接下来要写些什么代码才能调用这个存储过程以更新数据库中的东西?

解决方案 »

  1.   

    用sqlcommand
    如果用sqldataadapter更新的话,使用dataset.update
      

  2.   

    dataset里面没有update这个方法啊
      

  3.   

    试试:sqlCommand2.UpdateCommand.ExecuteNonQuery()
    实际上,如果只是更新,没必要用DataAdapter啊
    用SqlCommand就可以了
      

  4.   

    string sql = string.Format("EXEC p_sys_Login '{0}', '{1}', @Result OUTPUT", userID,password); SqlCommand cmd = new SqlCommand(sql, cnn); //建立并添加和“@Result OUTPUT”对应的参数 SqlParameter paramResult = new SqlParameter("@Result", SqlDbType.VarChar, 50); paramResult.Direction = ParameterDirection.Output; cmd.Parameters.Add(paramResult); cnn.Open(); cmd.ExecuteNonQuery(); cnn.Close();