코드에서 cmdd (@PermissionAccessoageID) 값을 얻고 싶습니다. 어떻게 달성 할 수 있습니까?where 절에서 특정 값을 검색하십시오.
나는 형식 'System.ArgumentException'형식의 예외가 system.data.dll에서 발생했지만 사용자 코드에서 처리되지 않은
이 오류를 얻을
추가 정보 : 없음 매핑 개체 유형에서 존재하지 않는 System.Data.SqlClient.SqlCommand를 알려진 관리 공급자 네이티브 형식으로 변경합니다.
내 코드 :
com.Parameters.AddWithValue("@PermissionAccessoageID ", cmdd);
cmdd
유형 SqlCommand
이다
protected void Add_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[1] { new DataColumn("Pages") });
foreach (GridViewRow row in addGridView.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
CheckBox chkRow = (row.Cells[1].FindControl("chkboxaddView") as CheckBox);
CheckBox chkRow1 = (row.Cells[2].FindControl("chkboxaddEdit") as CheckBox);
string aaa = row.Cells[0].Text;
if (chkRow.Checked)
{
con.Open();
var vaala = chkRow.Checked ? 1 : 0;
var vaalaa = chkRow1.Checked ? 1 : 0;
var val = chkaddisactive.Checked ? 1 : 0;
var vall = chkboxisactive.Checked ? 1 : 0;
string sqlcmd = "select AccesspageID From AccessPages where pages='" + row.Cells[0].Text + "'";
SqlCommand cmdd = new SqlCommand(sqlcmd, con);
cmdd.CommandType = CommandType.Text;
cmdd.ExecuteScalar();
string query = "add3tables"; //Stored procedure name
SqlCommand com = new SqlCommand(query, con); //creating SqlCommand object
com.CommandType = CommandType.StoredProcedure; //here we declaring command type as stored procedure
// adding parameters to SqlCommand below
com.Parameters.AddWithValue("@Name", txtaddrolename.Text.ToString());
string unique_string = Guid.NewGuid().ToString();
com.Parameters.AddWithValue("@RoleID ", unique_string);
com.Parameters.AddWithValue("@IsActive ", val);
com.Parameters.AddWithValue("@PermissionRoleID ", unique_string);
com.Parameters.AddWithValue("@View ", vaala);
com.Parameters.AddWithValue("@Edit ", vaalaa);
com.Parameters.AddWithValue("@PermissionAccessoageID ", cmdd);
com.ExecuteNonQuery();
con.Close();
}
if (chkRow1.Checked == false)
{
var vaala = chkRow.Checked ? 1 : 0;
var vaalaa = chkRow1.Checked ? 1 : 0;
var val = chkaddisactive.Checked ? 1 : 0;
var vall = chkboxisactive.Checked ? 1 : 0;
SqlCommand cmdd = new SqlCommand("select AccesspageID From AccessPages where pages='" + aaa + "'", con);
con.Open();
cmdd.CommandType = CommandType.Text;
string query = "add3tables"; //Stored procedure name
SqlCommand com = new SqlCommand(query, con); //creating SqlCommand object
com.CommandType = CommandType.StoredProcedure; //here we declaring command type as stored procedure
// adding parameters to SqlCommand below
com.Parameters.AddWithValue("@Name", txtaddrolename.Text.ToString());
string unique_string = Guid.NewGuid().ToString();
com.Parameters.AddWithValue("@RoleID ", unique_string);
com.Parameters.AddWithValue("@IsActive ", val);
com.Parameters.AddWithValue("@PermissionRoleID ", unique_string);
com.Parameters.AddWithValue("@View ", vaala);
com.Parameters.AddWithValue("@Edit ", vaalaa);
com.Parameters.AddWithValue("@PermissionAccessoageID ", cmdd);
com.ExecuteNonQuery();
con.Close();
}
}
왜 cmdd (@PermissionAccessoageID)의 값을 얻고 싶습니까? 그것은 마지막으로 삽입 된 행인가 다른 것입니까? –
Cmdd가 데이터베이스에 이미 삽입 된 행입니다. AccesspageID를 검색하고 싶습니다 – Vinoth
첫 번째 select 문이 쓸모없는 것 같습니다. 코드에서 아무 곳에서나 결과를 사용하지 마십시오. 두 번째 if 문에서 실행할 필요조차 없습니다. – Marco