PDA

View Full Version : مبتدی: درخواست راهنمایی در خصوص پیفام خطا هنگام ثبت اطلاعات در سایت



unhappyman3
سه شنبه 06 اسفند 1392, 13:11 عصر
سلام
من یک سایت دارم که مربوط به برنامه پرستاری بیمارستان میشه
دیتابیسم sql server هست
اول مشکل کانکشن استرینگ داشتم که اونو رفع کردم با تعریف یک یوزر تو sql با اهزار هویت از طریق sql authentication
الان همه چیز تقریبا درست کار میکنه اما وقتی میخوام اطلاعات جدیدی تو دیتابیس ذخیره کنم مثل تعریف یک پرسنل جدید با هد ارور مواجه میشم

Procedure or function usp_Employee_Update has too many arguments specified.
اگه میشه راهنماییم کنید


Server Error in '/NMS' Application.Procedure or function usp_Employee_Update has too many arguments specified.Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Exception: Procedure or function usp_Employee_Update has too many arguments specified.

Source Error:



Line 160: catch (Exception ex)
Line 161: {
Line 162: throw new Exception(ex.Message );
Line 163: }
Line 164: finally



Source File: F:\nmsys\DAL\EmployeeDal.cs Line: 162

Stack Trace:



[Exception: Procedure or function usp_Employee_Update has too many arguments specified.]
DataAccess.EmployeeDal.UpdateEmployee(IDictionary ids) in F:\nmsys\DAL\EmployeeDal.cs:162
Businesslayer.EmployeeBiz.UpdateEmployee(IDictiona ry ids) in F:\nmsys\Biz\EmployeeBiz.cs:77

[Exception: Procedure or function usp_Employee_Update has too many arguments specified.]
Businesslayer.EmployeeBiz.UpdateEmployee(IDictiona ry ids) in F:\nmsys\Biz\EmployeeBiz.cs:81
Detail_Employee.btnSave_Command(Object sender, CommandEventArgs e) in f:\nmsys\NMS\UI\Controls\DetailControls\Detail_Emp loyee.ascx.cs:318
DevExpress.Web.ASPxEditors.ASPxButton.OnCommand(Co mmandEventArgs e) +138
DevExpress.Web.ASPxEditors.ASPxButton.RaisePostBac kEvent(String eventArgument) +499
DevExpress.Web.ASPxClasses.ASPxWebControl.System.W eb.UI.IPostBackEventHandler.RaisePostBackEvent(Str ing eventArgument) +42
System.Web.UI.Page.RaisePostBackEvent(IPostBackEve ntHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCol lection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563




Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1

mansoor32
سه شنبه 06 اسفند 1392, 14:29 عصر
با سلام
من هم قبلا با این مشکل مواجه شدم و زمانی که می خواستم محصول جدیدی در جدول درج کنم یه هنچین خطایی می داد علتش هم به خاطر زیاد بودن طول ارگومانی بود که می خواستم در هر ستون جدول درج کنم به احتمال زیاد تعداد ستون های جدول شما زیاد است پیشنهاد من اینکه ستون های که از نوع رشته هستند رابه یک ستون تبدیل و اطلاعاتش را در یک ستون ذخیره کنید برای جدا کردن اطلاعات هم می تونید از کاما استفاده کنید

unhappyman3
سه شنبه 06 اسفند 1392, 15:29 عصر
این مشکل برای من از زمانی بوجود اومد که سرورم رو عوض کردم
توی شرکت ما از شبکه داخلی استفاده میکنیم و از یک کامپیوتر بعنوان سرور استفاده میکردیم. الان من سرورم رو عوض کردم و به sql server کامپیوتر خودم کانکت میشم
خودم فکر میکنم مشکل از یوزریه که واسه لاگین توی sql تعریف کردم ولی نمیدونم که مشکل دقیقا چیه و از کجاست
با سرور قبلی همچین مشکلی ندارم

VRAnonymous
چهارشنبه 07 اسفند 1392, 08:34 صبح
لیست فیدهای جدول به همراه کد ثبت اطلاعات رو بزار تا بتونیم دقیق تر نظر بدیم

unhappyman3
چهارشنبه 07 اسفند 1392, 10:36 صبح
این کد شه
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using Businesslayer;


public partial class Detail_Users : System.Web.UI.UserControl
{
private Hashtable ht = new Hashtable();
protected void Page_Load(object sender, EventArgs e)
{
lblunameerror.Visible = false;
lblHasherror.Visible = false;
if (!IsPostBack)
{
try
{
tw.Value = "1;<;1";
hds["JobInfo"]="";
Hashtable uInfo = (Hashtable)Session["app"];
if (!String.IsNullOrEmpty(uInfo["id"].ToString()))
{
if (uInfo["isadmin"].ToString() != "1")
{
rbIsOrgUser.SelectedIndex = 1;
rbIsOrgUser.Enabled = false;
}
else
{
rbIsOrgUser.Enabled = true;
}
}


CheckPerm(true, true, true);
string d = Session["id"].ToString();
hds["id"]= d;
if (d == "0")
{
}
else
{
if (uInfo["isadmin"].ToString() != "1")
{
btnSelectPersonnel.Enabled = false;
}
ectlUName.ReadOnly = true;
ht = UsersBiz.Populate(Int32.Parse(d));
getIDS();
}
}
catch
{
Response.Redirect("UI/Forms/Default.aspx");
}
}


}
protected void ibDelete_Click(object sender, ImageClickEventArgs e)
{
UsersBiz.DeleteUsers(setIDS());
Response.Redirect("../../UI/Forms/frmList_Users.aspx");
}
protected void ibeSave_Click(object sender, ImageClickEventArgs e)
{
if (ectlUName.Text.Length < 6 &&
hds["id"].ToString().CompareTo("0") == 0)
{
lblunameerror.Visible = true;
return;
}
if (ectlHash.Text.Length < 6)
{
lblHasherror.Visible = true;
return;
}
ht.Clear();
lblRepUser.Visible = false;
setIDS();
string d = hds["id"].ToString();
ht.Remove("id");
if (d == "0")
{
Hashtable ht2 = UsersBiz.PopulateByUNameForlogin(ectlUName.Text.Tr im());
if (!String.IsNullOrEmpty(ht2["id"].ToString()))
{
lblRepUser.Visible = true;
}
else
{
if (rbIsOrgUser.SelectedIndex == 0)
{
ht["Hospitals"] = ddlHospitals.SelectedItem.Value;
}
else
{
ht["Hospitals"] = "";
}


ht["Parts"] = "";
UsersBiz.InsertUsers(ht);
Response.Redirect("../../UI/Forms/frmList_Users.aspx");
}
}
else
{
ht.Remove("UName");
UsersBiz.UpdateByFields(hds["id"].ToString(), ht);
//Response.Write("<script language='javascript'>window.open('Message-Save.aspx','','scrollbars=yes,toolbar=no,width=300 ,height=100,top=0,left=0')</script>");
Response.Redirect("../../UI/Forms/frmList_Users.aspx");
}
}
protected void CheckPerm(bool ViewPerm, bool EditPerm, bool DeletePerm)
{
Hashtable uInfo = (Hashtable)Session["app"];
DeletePerm = false;
ViewPerm = false;
if (uInfo.Count > 0)
{
if (uInfo["isadmin"].ToString() == "1")
{
hdwHospitals.Value = "1;=;1";
hdwPositions.Value = "1;=;1";
ViewPerm = true;
}
if (uInfo["Users"].ToString() == "1")
{
hdwHospitals.Value = "[Hospitals].id;in;(" + uInfo["Hospitals"].ToString() + ")";
hdwPositions.Value = "[Positions].id;>;7;[Positions].id;<;14";
ViewPerm = true;
}
}
if (ViewPerm == false)
{
foreach (Control cnt in this.Controls)
{
try
{
cnt.Visible = false;
}
catch
{
}
}
}
}
private IDictionary setIDS()
{
string PWD =
FormsAuthentication.HashPasswordForStoringInConfig File(ectlHash.Text,
"SHA1");
ht["id"] = hds["id"].ToString();
ht["UName"] = ectlUName.Text;
ht["Hash"] = PWD;
ht["State"] = ectlState.Checked ? "1" : "0";
ht["fName"] = ectlfName.Text;
ht["lname"] = ectllname.Text;
ht["email"] = ectlemail.Text;
ht["IdNo"] = ectlIdNo.Text;
ht["FatherName"] = ectlFatherName.Text;
ht["Tel"] = ectlTel.Text;
ht["Fax"] = ectlFax.Text;
ht["Address"] = ectlAddress.Text;
ht["JobInfo"] = hds["JobInfo"].ToString();
if (rbIsOrgUser.SelectedIndex == 1)
{
ht["fEmpID"] = hds["hde"].ToString().ToString();
}
ht["fHospitalId"] = ddlHospitals.SelectedValue;
ht["fPosID"] = ddlfPosIDTitle.SelectedValue;
string operation = ht["fPosID"].ToString() +
ht["UName"].ToString() +
PWD;
operation = FormsAuthentication.HashPasswordForStoringInConfig File(operation, "SHA1");
ht["operation"] = operation;


return ht;
}
private void getIDS()
{
hds["id"]= ht["id"].ToString();


ectlUName.Visible = ht["id"].ToString().CompareTo("0") != 0 ? false : true;
lblUser.Visible = !ectlUName.Visible;
ectlUName.Text = ht["UName"].ToString();
lblUser.Text = ht["UName"].ToString();


ectlHash.Text = ht["Hash"].ToString();
ectlState.Checked = (ht["State"].ToString() == "1" ? true : false);
ectlfName.Text = ht["fName"].ToString();
ectllname.Text = ht["lname"].ToString();
ectlemail.Text = ht["email"].ToString();
ectlIdNo.Text = ht["IdNo"].ToString();
ectlFatherName.Text = ht["FatherName"].ToString();
ectlTel.Text = ht["Tel"].ToString();
ectlFax.Text = ht["Fax"].ToString();
ectlAddress.Text = ht["Address"].ToString();
hds["JobInfo"] = ht["JobInfo"].ToString();
hds["hde"]= ht["fEmpID"].ToString();
//ectlHospitals.Text = ht["Hospitals"].ToString();
//ectlParts.Text = ht["Parts"].ToString();
//ectloperation.Text = ht["operation"].ToString();
if (!String.IsNullOrEmpty(ht["fHospitalId"].ToString()))
{
if (ht["fHospitalId"].ToString() != "0")
{
//ectlfHospitalId.Text = ht["fHospitalId"].ToString();
rbIsOrgUser.SelectedIndex = 1;
}
}
else
{
rbIsOrgUser.SelectedIndex = 0;
}
if (!String.IsNullOrEmpty(ht["fEmpID"].ToString()))
{
if (ht["fEmpID"].ToString() != "0")
{
Hashtable ht2 = EmployeeBiz.Populate(Convert.ToInt32(ht["fEmpID"].ToString()));
ht2.Clear();
}
}
}
protected void SetLOVRender()
{
if (Session["Code"].ToString() != "")
{
ht[Session["idparam"].ToString()] = Session["Code"].ToString();
Session["Code"] = "";
ht[Session["titleparam"].ToString()] = Session["Name"].ToString();
Session["Name"] = "";
}
}
protected void ddlfPosIDTitle_PreRender(object sender, EventArgs e)
{


if (ht.ContainsKey("fPosID"))
{
if (!String.IsNullOrEmpty(ht["fPosID"].ToString()) &&
(ht["fPosID"].ToString() != "0"))
{
if (!Comparer.ReferenceEquals(null, ddlfPosIDTitle.Items.FindByValue(ht["fPosID"].ToString())))
{
ddlfPosIDTitle.ClearSelection();
ddlfPosIDTitle.Items.FindByValue(ht["fPosID"].ToString()).Selected = true;
}
}
}


if (ddlfPosIDTitle.Items.Count > 0)
if (ddlfPosIDTitle.SelectedIndex < 0)
ddlfPosIDTitle.SelectedIndex = 0;
}
protected void ddlfhospital(object sender, EventArgs e)
{
if (ht.ContainsKey("fHospitalId"))
{
if (!String.IsNullOrEmpty(ht["fHospitalId"].ToString()))
{
ddlHospitals.ClearSelection();
ddlHospitals.Items.FindByValue(ht["fHospitalId"].ToString()).Selected = true;
}
}
if (ddlHospitals.Items.Count > 0)
{
if (ddlHospitals.SelectedIndex < 0)
ddlHospitals.SelectedIndex = 0;
tw.Value = "[Employee].fHospitalID;=;" + ddlHospitals.SelectedItem.Value.ToString() +
";[Employee].fState;=;1" + // is active personnel
";[Employee].id;IN;(SELECT fEmpId FROM Employee_Working_Info" +
" WHERE (IsActive = 1) AND (fHospitalId = " + ddlHospitals.SelectedItem.Value.ToString() + ") " + ")" +
";[Employee].id;not in;(Select isnull( fEmpId,'0') from Users)";
gv_Personnels.DataBind();
}
}
protected void lbBack_Click(object sender, EventArgs e)
{
Response.Redirect("../../UI/Forms/frmList_Users.aspx");
}
protected void btnfEmpId_Click(object sender, EventArgs e)
{
tw.Value = "[Employee].fHospitalID;=;" + ddlHospitals.SelectedItem.Value.ToString() +
";[Employee].fState;=;1" + // is active personnel
";[Employee].id;IN;(SELECT fEmpId FROM Employee_Working_Info" +
" WHERE (IsActive = 1) AND (fHospitalId = " + ddlHospitals.SelectedItem.Value.ToString() + ") " + ")" +
";[Employee].id;not in;(Select isnull( fEmpId,'0') from Users)";
//pcPersonnelList.ShowOnPageLoad = true;
gv_Personnels.DataBind();
//Session["idparam"] = "fEmpID";
//Session["titleparam"] = "fEmpId_fName";
//setIDS();
//Session["frm"] = ht;
//string hid = ddlHospitals.SelectedValue;
//string key = FormsAuthentication.HashPasswordForStoringInConfig File(Session.SessionID, "SHA1");
//Session["HP" + key] = hid;
//Response.Write("<script language='javascript'>window.open('IMade/List__Employee_Select_For_UsersDef.aspx','','scrol lbars=yes,toolbar=no,location=no,menubar=no,top=0, left=0')</script>");


}
protected void btnSave_Command(object sender, CommandEventArgs e)
{
if (ectlUName.Text.Length < 6 &&
hds["id"].ToString().CompareTo("0") == 0)
{
lblunameerror.Visible = true;
return;
}
if (ectlHash.Text.Length < 6)
{
lblHasherror.Visible = true;
return;
}
ht.Clear();
lblRepUser.Visible = false;
setIDS();
string d = hds["id"].ToString();
ht.Remove("id");
if (d == "0")
{
Hashtable ht2 = UsersBiz.PopulateByUNameForlogin(ectlUName.Text.Tr im());
if (!String.IsNullOrEmpty(ht2["id"].ToString()))
{
lblRepUser.Visible = true;
}
else
{
if (rbIsOrgUser.SelectedIndex == 0)
{
ht["Hospitals"] = ddlHospitals.SelectedItem.Value;
}
else
{
ht["Hospitals"] = "";
}


ht["Parts"] = "";
UsersBiz.InsertUsers(ht);
Response.Redirect("../../UI/Forms/frmList_Users.aspx");
}
}
else
{
ht.Remove("UName");
UsersBiz.UpdateByFields(hds["id"].ToString(), ht);
Response.Redirect("../../UI/Forms/frmList_Users.aspx");
}
}


protected void gv_Personnels_CustomCallback(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewCustomCall backEventArgs e)
{
if (Convert.ToInt32(e.Parameters) > -1)
{
string[] fields = { "id", "fName", "lName", "FatherName", "IdNo", "MelliCode" };
object[] masterKeyValue = (object[])gv_Personnels.GetRowValues(Convert.ToInt32(e.Para meters), fields);
hds["hde"] = Convert.ToString(masterKeyValue[0]);
ectlfName.Text = Convert.ToString(masterKeyValue[1]);
ectllname.Text = Convert.ToString(masterKeyValue[2]);
ectlFatherName.Text = Convert.ToString(masterKeyValue[3]);
ectlIdNo.Text = Convert.ToString(masterKeyValue[4]);
}
}
protected void cbDetails_Callback(object sender, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e)
{
if (Convert.ToInt32(e.Parameter.ToString()) > -1)
{
string[] fields = { "id", "fName", "lName", "FatherName", "IdNo", "MelliCode" };
object[] masterKeyValue = (object[])gv_Personnels.GetRowValues(Convert.ToInt32(e.Para meter), fields);
hds["hde"]= Convert.ToString(masterKeyValue[0]);
ectlfName.Text = Convert.ToString(masterKeyValue[1]);
ectllname.Text = Convert.ToString(masterKeyValue[2]);
ectlFatherName.Text = Convert.ToString(masterKeyValue[3]);
ectlIdNo.Text = Convert.ToString(masterKeyValue[4]);
//pcPersonnelList.ShowOnPageLoad = false;
}


}
protected void ddlHospitals_SelectedIndexChanged(object sender, EventArgs e)
{
tw.Value = "[Employee].fHospitalID;=;" + ddlHospitals.SelectedItem.Value.ToString() +
";[Employee].fState;=;1" + // is active personnel
";[Employee].id;IN;(SELECT fEmpId FROM Employee_Working_Info" +
" WHERE (IsActive = 1) AND (fHospitalId = " + ddlHospitals.SelectedItem.Value.ToString() + ") " + ")" +
";[Employee].id;not in;(Select isnull( fEmpId,'0') from Users)";
gv_Personnels.DataBind();
}
}

unhappyman3
چهارشنبه 07 اسفند 1392, 10:39 صبح
این کد کامل صفحه بود
لیست فیلدهای جدول هم توش قید شده

VRAnonymous
چهارشنبه 07 اسفند 1392, 15:07 عصر
فقط بخش insert رو بزار