PDA

View Full Version : مبتدی: ارور overFlow



hamideh89
پنج شنبه 18 شهریور 1389, 10:59 صبح
سلام من يه برنامه نوشتم كه يه فرمي رو كاربر بايد پركنه و سپس دكمه تاييد رو بزنه بعد از اينكه دكمه تاييد رو زد وارد يه صفحه اي ميشه كه خلاصه اي از اطلاعات وارد شده رو مي بينه و در اين صفحه بايد پس از زدن دكمه ثبت اطلاعات در ديتا بيسم ذخيره شه اما ارور Over Flow ميده. در ضمن با اكسس كار كردم
اين كد صفحه اي است كه بايد دكمه ثبت رو بزنه.
البته من همهي دستورات مربوط به دكمه رو پاك كردم و فقط دستور داخل Try رو گذاشتم موند. اجرا كه كردم از خطي كه با قرمز مشخص كردم ايراد گرفت و زد OverFlow با اين حال كل كد رو براتون گذاشتم.
ممنون


using System;


using System.Collections;


using System.Configuration;


using System.Data.OleDb;


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;




public partial class finallysave : System.Web.UI.Page


{


string code;


OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\poroje2\App_Data\info.mdb");


OleDbCommand cmd = new OleDbCommand();


OleDbDataAdapter objda = new OleDbDataAdapter();


protected void Page_Load(object sender, EventArgs e)


{


if (!Page.IsPostBack)


{


Page.Title = "تائید نهایی";


Label14.Text = Session["my session1"].ToString();


Label15.Text = Session["my session2"].ToString();


Label18.Text = Session["my session3"].ToString();


Label29.Text = Session["my session4"].ToString();


Label30.Text = Session["my session5"].ToString();


Label19.Text = Session["my session6"].ToString();


Label31.Text = Session["my session7"].ToString();


Label21.Text = Session["my session8"].ToString();


Label22.Text = Session["my session9"].ToString();


Label23.Text = Session["my session10"].ToString();


Label24.Text = Session["my session11"].ToString();


Label25.Text = Session["my session12"].ToString();


Label26.Text = Session["my session13"].ToString();


Label27.Text = Session["my session14"].ToString();


}


}


protected void Button1_Click(object sender, EventArgs e)


{




string str = string.Empty;


DateTime dt = new DateTime();


dt = DateTime.Now;


str = dt.Year.ToString() + dt.Month.ToString()+ dt.Day.ToString() +


dt.Hour.ToString()+dt.Minute.ToString() + dt.Second.ToString()+


dt.Millisecond.ToString();


code = str;


string com = "select [icode] from [info]";


objda.SelectCommand = new OleDbCommand(com, con);


DataSet objdataset = new DataSet();


DataView objdataview = new DataView(objdataset.Tables["info"]);


bool result = false;


int i;


for (i = 0; i < objdataview.Count; i++)


{


if (objdataview[i].Row[0].ToString() == Label31.Text)


result = true;


}


if (result == true)


Label20.Text = "کد ملی تکراری است";


else


{


try


{


cmd.Connection = con;


cmd.CommandText="insert into info(nname,lname,bday,bmonth,byear,inumber,


icode,document,dname,rname,tell,email,city,address ,rcode)value


('" + Label14.Text + "','" + Label15.Text + "','" + Label18.Text + "','"+


Label29.Text + "','" + Label30.Text + "','" + Label19.Text + "','" +


Label31.Text + "','" + Label21.Text + "','" + Label22.Text + "','" +


Label23.Text + "','" + Label24.Text + "','" + Label25.Text + "','" +


Label26.Text + "','" + Label27.Text + "','" + code + "')";


con.Open();


int a = cmd.ExecuteNonQuery();



if (a == 1)


{


Response.Write("اطلاعات شما به ثبت رسيد");


}


else


{


Response.Write("خطا در ثبت اطلاعات");


}


con.Close();


}


catch (OleDbException exx)


{


Response.Write(exx.Message.ToString());


}


}


}


}

A.S.Roma
پنج شنبه 18 شهریور 1389, 11:30 صبح
به نظرتون زیادی از Session استفاده نکردید !؟
ضمنا" خطی رو هم با قرمز نشون ندادید !

hamideh89
پنج شنبه 18 شهریور 1389, 12:26 عصر
يادم رفته بود قرمز كنم:لبخند:
براي اينكه به صفحه ي بعد اطلاعات بره از سشن ها استفاده كردمو مگه راهي هست كه بشه كمتر استفاده كرد؟

Program.net
پنج شنبه 18 شهریور 1389, 12:44 عصر
اگه میخواید اطلاعات فقط بین 2 تا صفحه جابجا بشه از query string استفاده کنید

hamideh89
پنج شنبه 18 شهریور 1389, 13:00 عصر
ميشه با يه مثال توضيح بديد؟
در مورد خطاي OverFlow چيكار كنم

persian_bigboy
پنج شنبه 18 شهریور 1389, 19:08 عصر
داداش یکم کد رو مرتب تر بزار تا آدم سرش گیج نره ، من که نخوندم ؛ کد رو اصلاح کن بگو برات حلش کنیم .

General-Xenon
جمعه 19 شهریور 1389, 08:25 صبح
ميشه با يه مثال توضيح بديد؟
در مورد خطاي OverFlow چيكار كنم

آقا سلام...عیدتون مبارک...
یه عکس از اون خطا بگیر ببینیم چی میگه.....


داداش یکم کد رو مرتب تر بزار تا آدم سرش گیج نره ، من که نخوندم ؛ کد رو اصلاح کن بگو برات حلش کنیم .

اینم سورس


using System;
using System.Collections;
using System.Configuration;
using System.Data.OleDb;
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.Data.SqlClient;

public partial class finallysave : System.Web.UI.Page
{
string code;
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=D:\poroje2\App_Data\info.mdb");
OleDbCommand cmd = new OleDbCommand();
OleDbDataAdapter objda = new OleDbDataAdapter();

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Page.Title = "تائید نهایی";
Label14.Text = Session["my session1"].ToString();
Label15.Text = Session["my session2"].ToString();
Label18.Text = Session["my session3"].ToString();
Label29.Text = Session["my session4"].ToString();
Label30.Text = Session["my session5"].ToString();
Label19.Text = Session["my session6"].ToString();
Label31.Text = Session["my session7"].ToString();
Label21.Text = Session["my session8"].ToString();
Label22.Text = Session["my session9"].ToString();
Label23.Text = Session["my session10"].ToString();
Label24.Text = Session["my session11"].ToString();
Label25.Text = Session["my session12"].ToString();
Label26.Text = Session["my session13"].ToString();
Label27.Text = Session["my session14"].ToString();
}
}


protected void Button1_Click(object sender, EventArgs e)
{
string str = string.Empty;
DateTime dt = new DateTime();
dt = DateTime.Now;
str = dt.Year.ToString() + dt.Month.ToString() + dt.Day.ToString() +
dt.Hour.ToString() + dt.Minute.ToString() + dt.Second.ToString() +
dt.Millisecond.ToString();
code = str;
string com = "select [icode] from [info]";
objda.SelectCommand = new OleDbCommand(com, con);
DataSet objdataset = new DataSet();
DataView objdataview = new DataView(objdataset.Tables["info"]);
bool result = false;
int i;
for (i = 0; i < objdataview.Count; i++)
{
if (objdataview[i].Row[0].ToString() == Label31.Text)
result = true;
}
if (result == true)
Label20.Text = "کد ملی تکراری است";
else
{
try
{
cmd.Connection = con;
cmd.CommandText = "insert into info(nname,lname,bday,bmonth,byear"
+ ",inumber,icode,document,dname,rname,tell,email,cit y,address"
+ " ,rcode)value('" + Label14.Text + "','" + Label15.Text + "','"
+ Label18.Text + "','"
+ Label29.Text + "','" + Label30.Text + "','" + Label19.Text + "','"
+ Label31.Text + "','" + Label21.Text + "','" + Label22.Text + "','"
+ Label23.Text + "','" + Label24.Text + "','" + Label25.Text + "','"
+ Label26.Text + "','" + Label27.Text + "','" + code + "')";
con.Open();
int a = cmd.ExecuteNonQuery(); //ERROR LINE *.*.*.*.*.*.*.*.*.*.*.*.*.*.*
if (a == 1)
{
Response.Write("اطلاعات شما به ثبت رسيد");
}
else
{
Response.Write("خطا در ثبت اطلاعات");
}
con.Close();
}
catch (OleDbException exx)
{
Response.Write(exx.Message.ToString());
}
}
}
}

hamideh89
جمعه 19 شهریور 1389, 18:40 عصر
آقا سلام...عیدتون مبارک...
یه عکس از اون خطا بگیر ببینیم چی میگه.....



اینم سورس


using System;
using System.Collections;
using System.Configuration;
using System.Data.OleDb;
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.Data.SqlClient;

public partial class finallysave : System.Web.UI.Page
{
string code;
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=D:\poroje2\App_Data\info.mdb");
OleDbCommand cmd = new OleDbCommand();
OleDbDataAdapter objda = new OleDbDataAdapter();

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Page.Title = "تائید نهایی";
Label14.Text = Session["my session1"].ToString();
Label15.Text = Session["my session2"].ToString();
Label18.Text = Session["my session3"].ToString();
Label29.Text = Session["my session4"].ToString();
Label30.Text = Session["my session5"].ToString();
Label19.Text = Session["my session6"].ToString();
Label31.Text = Session["my session7"].ToString();
Label21.Text = Session["my session8"].ToString();
Label22.Text = Session["my session9"].ToString();
Label23.Text = Session["my session10"].ToString();
Label24.Text = Session["my session11"].ToString();
Label25.Text = Session["my session12"].ToString();
Label26.Text = Session["my session13"].ToString();
Label27.Text = Session["my session14"].ToString();
}
}


protected void Button1_Click(object sender, EventArgs e)
{
string str = string.Empty;
DateTime dt = new DateTime();
dt = DateTime.Now;
str = dt.Year.ToString() + dt.Month.ToString() + dt.Day.ToString() +
dt.Hour.ToString() + dt.Minute.ToString() + dt.Second.ToString() +
dt.Millisecond.ToString();
code = str;
string com = "select [icode] from [info]";
objda.SelectCommand = new OleDbCommand(com, con);
DataSet objdataset = new DataSet();
DataView objdataview = new DataView(objdataset.Tables["info"]);
bool result = false;
int i;
for (i = 0; i < objdataview.Count; i++)
{
if (objdataview[i].Row[0].ToString() == Label31.Text)
result = true;
}
if (result == true)
Label20.Text = "کد ملی تکراری است";
else
{
try
{
cmd.Connection = con;
cmd.CommandText = "insert into info(nname,lname,bday,bmonth,byear"
+ ",inumber,icode,document,dname,rname,tell,email,cit y,address"
+ " ,rcode)value('" + Label14.Text + "','" + Label15.Text + "','"
+ Label18.Text + "','"
+ Label29.Text + "','" + Label30.Text + "','" + Label19.Text + "','"
+ Label31.Text + "','" + Label21.Text + "','" + Label22.Text + "','"
+ Label23.Text + "','" + Label24.Text + "','" + Label25.Text + "','"
+ Label26.Text + "','" + Label27.Text + "','" + code + "')";
con.Open();
int a = cmd.ExecuteNonQuery(); //ERROR LINE *.*.*.*.*.*.*.*.*.*.*.*.*.*.*
if (a == 1)
{
Response.Write("اطلاعات شما به ثبت رسيد");
}
else
{
Response.Write("خطا در ثبت اطلاعات");
}
con.Close();
}
catch (OleDbException exx)
{
Response.Write(exx.Message.ToString());
}
}
}
}


آقا ممنون دستتون درد نكنه

hamideh89
شنبه 20 شهریور 1389, 01:21 صبح
آقا يكي نيست اين جواب ما رو بده؟:ناراحت:

Himalaya
شنبه 20 شهریور 1389, 03:46 صبح
این طوری کمک کردن سخته ولی با این حال ...حدس میزنم تو تمام ستونهای اون جدول دارید insert انجام میدید پس نیازی نیست اسم ستونها رو بیارید. city رو هم ci ty تایپ کردید... به جای


cmd.CommandText = "insert into info(nname,lname,bday,bmonth,byear"
+ ",inumber,icode,document,dname,rname,tell,email,ci ty,address"
+ " ,rcode)value('" + Label14.Text + "','" + Label15.Text + "','"
+ Label18.Text + "','"
+ Label29.Text + "','" + Label30.Text + "','" + Label19.Text + "','"
+ Label31.Text + "','" + Label21.Text + "','" + Label22.Text + "','"
+ Label23.Text + "','" + Label24.Text + "','" + Label25.Text + "','"
+ Label26.Text + "','" + Label27.Text + "','" + code + "')";


اینو بزارید ببینید مشکل حل میشه یا نه. اگه نشد یه مثال کوچیک (پروژه) بزارید اینجا



cmd.CommandText = "insert into info value(@a,@b,@c,@d,@e,@f,@g,@h,@i,@j,@k,@l,@m,@n,@p )";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@a", Label14.Text);
cmd.Parameters.AddWithValue("@b", Label15.Text);
cmd.Parameters.AddWithValue("@c", Label18.Text);
cmd.Parameters.AddWithValue("@d", Label29.Text);
cmd.Parameters.AddWithValue("@e", Label39.Text);
cmd.Parameters.AddWithValue("@f", Label19.Text);
cmd.Parameters.AddWithValue("@g", Label31.Text);
cmd.Parameters.AddWithValue("@h", Label21.Text);
cmd.Parameters.AddWithValue("@i", Label22.Text);
cmd.Parameters.AddWithValue("@j", Label23.Text);
cmd.Parameters.AddWithValue("@k", Label24.Text);
cmd.Parameters.AddWithValue("@l", Label25.Text);
cmd.Parameters.AddWithValue("@m", Label26.Text);
cmd.Parameters.AddWithValue("@n", Label27.Text);
cmd.Parameters.AddWithValue("@p", code);

hamideh89
شنبه 20 شهریور 1389, 14:17 عصر
مرسي دوست عزيز اما الان اين ارور رو ميده و حلقه هاي if , for اجرا نميشن.


Syntax error in INSERT INTO statement

Himalaya
شنبه 20 شهریور 1389, 14:40 عصر
خوب این داره از سینتکس دستور sql ایراد میگیره. من همینطوری سر سری نوشتم. با دستور خودت تطبیقش بده ولی پارامترها رو اون شکلی که گفتم بهش بده (شاید ایراد از این نباشه ولی منطقیش اینه که اینطوری بنویسی)

Himalaya
شنبه 20 شهریور 1389, 14:53 عصر
اشتباهی نوشتم value ... به جاش بزن values

hamideh89
دوشنبه 22 شهریور 1389, 23:11 عصر
به AddWithValue كه نميشه s اضافه كرد و value ديگه اي هم كه هست نام جدوله كه براي من info.
ميشه واضح تر بگيد؟