PDA

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



hjran abdpor
یک شنبه 14 خرداد 1391, 02:17 صبح
با سلام.
دوستان من یک Dataset دارم که این دیتاست ها کارهای خودش را با SP ها انجام میده ، حالا تو این صفحه هنگام ورود اطلاعات این خطا را میده ؟؟؟ ولی اگه دستور را با SqlComand بنویسم هیچ خطای نمیگیره !!
هم Sp را گذاشتم هم کدها !!
به نظر دوستان مشکل چی هست ؟؟؟


DataTable dt = new DataTable();
MainDataSet ds = new MainDataSet();
LoadDataForBuyTableAdapter ldfb = new LoadDataForBuyTableAdapter();
SqlDataAdapter da = new SqlDataAdapter("SELECT MAX(BuyCode) AS NewCode FROM SaleAndBuy", connect); //
da.Fill(dt);
//
ldfb.FillByInsertCustomerForBuy(ds.LoadDataForBuy, Convert.ToInt32(ds.LoadDataForBuy.Rows[0]["NewCode"]), AddressTextBox.Text, NameTextBox.Text, TelTextBox.Text);
//ldfb.FillByInsertCustomerForBuy(ds.LoadDataForBuy, Convert.ToInt32(ds.LoadDataForBuy.Rows[0]["NewCode"].ToString()), AddressTextBox.Text, NameTextBox.Text, TelTextBox.Text);
//SqlCommand Cmd_ = new SqlCommand("INSERT INTO CustomerInfo(BuyCode,Name,Tel, Address) VALUES(" +
// dt.Rows[0]["NewCode"].ToString() + ",'" + NameTextBox.Text + "','" + TelTextBox.Text +
// "', '" + AddressTextBox.Text + "')", connect);
connect.Open();
//Cmd_.ExecuteNonQuery();
connect.Close();








///////////////////////////////////////////////////////////////
ALTER PROCEDURE dbo.InsertCustomerInfoForBuy

(
@BuyCode bigint,
@Address nvarchar(250),
@name nvarchar(50),
@tel nvarchar(50)
)

AS
INSERT INTO CustomerInfo(BuyCode,Address,[name],tel) values (@BuyCode,@Address,@name,@tel)
RETURN

ehsan10011
یک شنبه 14 خرداد 1391, 18:05 عصر
2تا کار می تونی انجام بدید




1-
sqlcommand com =new sqlcommand("exec InsertCustomerInfoForBuy code,address,name,telphone",con)
2-
com.commandstring="InsertCustomerInfoForBuy "
com.commandtype=storPROCEDUR();
com.parameters.addwithvalue("@Name",NameTextBox.Text)
,.....

fakhravari
یک شنبه 14 خرداد 1391, 23:35 عصر
شما دقیقا میخواهید چی کار کنید.

hjran abdpor
دوشنبه 15 خرداد 1391, 02:08 صبح
سلام اقای فخر اوری عزیز.
امیدوارم مشکلاتی که داشتی حل شده باشن ، والا مسئله ی من از این قراره که میخام برای این صفحه که کدهای SQL را به صورت Text نوشتم را تبدیل به SP کنم ، تو همون بسمه الش بهم خطا داد ؟؟؟
میخام تممام کدهای این صفحه تبدیل SP یشن ، کد کامل صفحه را بارتون میزارم امیدوارم شما مثل همیشه بهمون کمک کنید :

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Web.Configuration;
using System.Data.SqlClient;
using FarsiLibrary;
using MainDataSetTableAdapters;
public partial class BuyMobile : System.Web.UI.Page
{
SqlConnection connect = new SqlConnection(WebConfigurationManager.ConnectionSt rings["Mobile_e_ShopDBConnectionString"].ConnectionString);
public static int MblCode_ = 0, Typ_ = -1;

protected void Page_PreInit(object sender, EventArgs e)
{
if (Session["UserName_"] != null)
{
this.MasterPageFile = "~/MasterPage2.master";
}
}

protected void Page_Load(object sender, EventArgs e)
{
DateLabel.Text = FarsiLibrary.Utils.PersianDate.Now.ToWritten();
//
MblCode_ = Convert.ToInt32(Request.QueryString["MblCode"]);
Typ_ = Convert.ToInt32(Request.QueryString["Typ"]);
if (Typ_ == 0)
{
SaveButton.Text = "ارسال به انبار";
Label2.Visible = false;
AddressTextBox.Visible = false;
RequiredFieldValidator1.Visible = false;
//
Label3.Visible = false;
NameTextBox.Visible = false;
RequiredFieldValidator3.Visible = false;
//
Label4.Visible = false;
TelTextBox.Visible = false;
RequiredFieldValidator4.Visible = false;
}
//
MainDataSet ds = new MainDataSet();
LoadDataForBuyTableAdapter ldfb = new LoadDataForBuyTableAdapter();
ldfb.FillLoaddatabuy(ds.LoadDataForBuy, MblCode_);
if (ds.LoadDataForBuy.Rows.Count > 0)
{
CompanyLabel.Text = ds.LoadDataForBuy.Rows[0]["CompanyName"].ToString();
ModelLabel.Text = ds.LoadDataForBuy.Rows[0]["Model"].ToString();
PriceLabel.Text = ds.LoadDataForBuy.Rows[0]["Price"].ToString();
}
}
protected void SaveButton_Click(object sender, EventArgs e)
{
try
{
MainDataSet ds = new MainDataSet();
LoadDataForBuyTableAdapter ldfb = new LoadDataForBuyTableAdapter();
if (MblCode_ != 0)
{


ldfb.FillByInsertbuyMobile(ds.LoadDataForBuy, MblCode_, Convert.ToInt16(CountTextBox.Text), FarsiLibrary.Utils.PersianDate.Now.Year.ToString() + "/" +
FarsiLibrary.Utils.PersianDate.Now.Month.ToString( ) + "/" +
FarsiLibrary.Utils.PersianDate.Now.Day.ToString(), Typ_);
//1==> Sale To Customer
connect.Open();


//
if (Typ_ == 1)//Sale
{
ldfb.FillByMaxCodeBuy(ds.LoadDataForBuy);
//DataTable dt = new DataTable();
//SqlDataAdapter da = new SqlDataAdapter("SELECT MAX(BuyCode) AS NewCode FROM SaleAndBuy", connect); //
//da.Fill(dt);
//
ldfb.FillByInsertCustomerForBuy(ds.LoadDataForBuy, Convert.ToInt64(ds.LoadDataForBuy.Rows[0]["NewCode"]), AddressTextBox.Text, NameTextBox.Text, TelTextBox.Text);
//ldfb.FillByInsertCustomerForBuy(ds.LoadDataForBuy, Convert.ToInt32(ds.LoadDataForBuy.Rows[0]["NewCode"].ToString()), AddressTextBox.Text, NameTextBox.Text, TelTextBox.Text);
//SqlCommand Cmd_ = new SqlCommand("INSERT INTO CustomerInfo(BuyCode,Name,Tel, Address) VALUES(" +
// dt.Rows[0]["NewCode"].ToString() + ",'" + NameTextBox.Text + "','" + TelTextBox.Text +
// "', '" + AddressTextBox.Text + "')", connect);

//Cmd_.ExecuteNonQuery();
connect.Close();
//

int Counter = 0;
//
DataTable dt1 = new DataTable();
SqlDataAdapter da1 = new SqlDataAdapter("SELECT MblCount FROM StoryScale WHERE (MblCode = " +
MblCode_ + ")", connect);
da1.Fill(dt1);
if (dt1.Rows.Count > 0)
Counter = Convert.ToInt32(dt1.Rows[0]["MblCount"]);
if (Counter >= Convert.ToInt32(CountTextBox.Text))
{
Counter -= Convert.ToInt32(CountTextBox.Text);
//
SqlCommand Cmd_1 = new SqlCommand("UPDATE StoryScale SET MblCount = " + Counter +
" WHERE (MblCode = " + MblCode_ + ")", connect);
connect.Open();
Cmd_1.ExecuteNonQuery();
connect.Close();
//
Label1.ForeColor = System.Drawing.Color.Green;
DataTable CountDT = new DataTable();
SqlDataAdapter CountDa = new SqlDataAdapter("SELECT COUNT(Name) AS Counter_ FROM " +
"CustomerInfo WHERE (Tel LIKE '" + TelTextBox.Text + "') AND (Name LIKE '" +
NameTextBox.Text + "')", connect);
CountDa.Fill(CountDT);
//
Label1.Text = "مشتری عزیز : " + NameTextBox.Text + " با تشکر از </br>" +
CountDT.Rows[0]["Counter_"].ToString() + " همین خرید شما";
}
else
{
Label1.ForeColor = System.Drawing.Color.Red;
Label1.Text = "تعداد درخواستی بیشتر از تعداد موجود است";
}
}
else
{
int Counter = 0;
//
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter("SELECT MblCount FROM StoryScale WHERE (MblCode = " +
MblCode_ + ")", connect);
da.Fill(dt);
if (dt.Rows.Count > 0)
Counter = Convert.ToInt32(dt.Rows[0]["MblCount"]);
Counter += Convert.ToInt32(CountTextBox.Text);
//
SqlCommand Cmd_ = new SqlCommand("UPDATE StoryScale SET MblCount = " + Counter +
" WHERE (MblCode = " + MblCode_ + ")", connect);
connect.Open();
Cmd_.ExecuteNonQuery();
connect.Close();
//
Label1.Text = "اطلاعات با موفقیت در انبار به روز شد.";
}
//
}
else
Label1.Text = "قبل از ثبت اطلاعات باید گوشی مورد نظر را انتخاب نمایید";
}
catch (Exception ex)
{
Label1.Text = "در روند ثبت اطلاعات اشکال به وجود آمده است:" + ex.Message;
}
}
}

hjran abdpor
دوشنبه 15 خرداد 1391, 19:19 عصر
کسی نیست نه ؟؟؟؟؟؟؟؟؟؟

hjran abdpor
پنج شنبه 18 خرداد 1391, 01:29 صبح
باز خودم مشکام را حل کردم .
ممنونم