-
افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
با سلام خدمت همه ی دوستان.
بنده روی فرمم یک تکست باکس دارم که میخوام با هر بار لود شدن یا رفرش شدن فرم ، تکست باکس یک عدد جدید بگیرد یا مثلا الان عدد 5 توی تکست باکس نوشته شده سری بعد که فرم رفرش شد با 1 جمع شود و 6 نمایش دهد به همین ترتیب ...
ممنون میشم راهنمایی کنید.
یه حلقه نوشتم توی رویداید لود به این صورت:
For (int I =0; i<20000000;<i++)
{
Textbox.text=i+1;
}
اما نمیدونم چکار کنم که هر بار که لود شد تغییر کنه
-
نقل قول: راند عددی تکست باکس
سلام،
روی فرم دابل کلیک کنید تا رویداد لود فرم باز بشه و از این کد داخل اون استفاده کنید :
private void Form1_Load(object sender, EventArgs e)
{
Random r = new Random();
textBox1.Text = r.Next(1, 100).ToString();
}
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
ممنونم دوست عزیز عالی بود.
سوال دیگه اینکه اگر بخوام به ترتیب پشت سر هم بره باید چکار کنم؟
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
بایستی یه کانتر در فیلدهای فرم تعریف کنید...به این کد دقت کنید :
namespace Barnamenevis
{
public partial class Form1 : Form
{
static int counter = 1;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Text = counter.ToString();
counter++;
}
}
}
البته این عدد تا زمانی که برنامه بازه توو حافظه میمونه، اگر میخواهید بعد از بسته شدن کلی برنامه هم حفظ بشه باید در یک فایل ذخیرش کنید
-
نقل قول: راند عددی تکست باکس
البته این عدد تا زمانی که برنامه بازه توو حافظه میمونه، اگر میخواهید بعد از بسته شدن کلی برنامه هم حفظ بشه باید در یک فایل ذخیرش کنید
ممنونم.
منظورتون از فایل چیه؟
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
نقل قول:
نوشته شده توسط
kamiloted
ممنونم دوست عزیز عالی بود.
سوال دیگه اینکه اگر بخوام به ترتیب پشت سر هم بره باید چکار کنم؟
می تونی عدد تولید شده رو بلافاصله درون یه متغیر از نوع عدد در setting ذخیره کنی دفعه بعد اون عدد ذخیره شده قبلی رو بگیری و یه دونه بگذاری روش و نمایش بدی و این پروسه در دفعات بعد ادامه پیدا کنه :لبخند:
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
ممنون آقا یونس.
اما من میخوام این عدد تولید شده رو توی بانک به عنوان سریال فرمم ذخیره کنم.الان کد دوستمون خوبه ما ذخیره نمیشه.
منظورتون رو متوجه نشدم. یه نمونه برام میزارید.
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
بانک من الان سریال غیر تکراری ایجاد میکنه بعد در دیتا گرید ویو هم نمایش میده.
یعنی من یک کاربر رو تعریف میکنم.مثلا اطلاعاتشو وارد میکنم و با زدن باتون ثبت اطلاعات اون کاربر در بانک ذخیره میشه و سریعا توسط بانک سریالش تولید میشه و در دیتا گرید ویو نمایش میده.
حالا من چکار کنم که بعد از ثبت شدن اون اطلاعات سریال به تکست باکس موردنظر برود ونمایش بدهد. تا من نخوام دیگه یه کار کنم که بعد از لود فرم تکست باکس عدد جدید نمایش بده.
ممنونم که وقت میزارید
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
نقل قول:
نوشته شده توسط
kamiloted
بانک من الان سریال غیر تکراری ایجاد میکنه بعد در دیتا گرید ویو هم نمایش میده.
یعنی من یک کاربر رو تعریف میکنم.مثلا اطلاعاتشو وارد میکنم و با زدن باتون ثبت اطلاعات اون کاربر در بانک ذخیره میشه و سریعا توسط بانک سریالش تولید میشه و در دیتا گرید ویو نمایش میده.
حالا من چکار کنم که بعد از ثبت شدن اون اطلاعات سریال به تکست باکس موردنظر برود ونمایش بدهد. تا من نخوام دیگه یه کار کنم که بعد از لود فرم تکست باکس عدد جدید نمایش بده.
ممنونم که وقت میزارید
سریال تولید شده در بانک خوبه ولی ایرادی که داره اینه که اگه از ردیفهای میانی حذف بشه دیگه شماره سریال به هم می خوره
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
این مهم نیست. چون قابلیت حذف نداره. ممنون میشم اگر کدشو برام بزاری
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
نقل قول:
نوشته شده توسط
kamiloted
این مهم نیست. چون قابلیت حذف نداره. ممنون میشم اگر کدشو برام بزاری
در انتهای دستورات مربوط به ثبت اطلاعات می تونی آخرین آی دی ثبت شده رو از طریق دستورExecuteScalar مربوط بهSqlCommand دریافت کنی و در کنترل مربوطه نشان بدی
ویا از طریقدستور SELECT SCOPE_IDENTITY بلافاصله بعد از دستورات ثبت اطلاعات
string query = "Insert Into Categories (CategoryName) Values (?)";
string query2 = "Select @@Identity";
int ID;
string connect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Northwind.mdb";
using (OleDbConnection conn = new OleDbConnection(connect))
{
using (OleDbCommand cmd = new OleDbCommand(query, conn))
{
cmd.Parameters.AddWithValue("", Category.Text);
conn.Open();
cmd.ExecuteNonQuery();
cmd.CommandText = query2;
ID = (int)cmd.ExecuteScalar();
}
}
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
منظورتون از Categories چیه؟
به جای این Category.Text باید چی بزارم اسم تکست باکسم.
متوجه اینم نشدم.
ممنونم
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
string query2 = "Select @@Identity";
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
به جای این چی باید بزارم
Select @@Identity
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
سلام، نمیدونم مشکلت حل شده یا نه، اگر نه میشه کدت رو یا دستور insert رو ببینیم؟
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
سلام دوست عزیز مشکلم حل نشد.
من با استورید پروسیجر دستور اینزرت رو نوشتم.
ممنون میشم اگه کمکم کنید.
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
نقل قول:
نوشته شده توسط
kamiloted
سلام دوست عزیز مشکلم حل نشد.
من با استورید پروسیجر دستور اینزرت رو نوشتم.
ممنون میشم اگه کمکم کنید.
کد پروسچر تون چه شکلیه؟
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
نقل قول:
نوشته شده توسط
kamiloted
سلام دوست عزیز مشکلم حل نشد.
من با استورید پروسیجر دستور اینزرت رو نوشتم.
ممنون میشم اگه کمکم کنید.
یه پارامتر خروجی به پروسچر اضافه می کنی
و با استفاده از SCOPE_IDENTITY آخرین آی دی ثبت شده رو دریافت کرده و به اون پارامتر خروجی انتصاب می دی :
ALTER PROCEDURE [dbo].[NewUser]
@f_name varchar(50),
@l_name varchar(50),
@id int output
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO users (f_name, l_name)
VALUES (@f_name, @l_name)
SET @id=SCOPE_IDENTITY()
RETURN @id
END
بعد سمت برنامه هم موقع ثبت رکورد جدید اون پارامتر خروجی رو دریافت کرده و نمایش می دی
String strConnString = @"Data Source=ALMA-PC\SQLEXPRESS;Initial Catalog=kaka;Integrated Security=True;Pooling=False";
SqlConnection con = new SqlConnection(strConnString);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "NewUser";
cmd.Parameters.Add("@f_name", SqlDbType.VarChar).Value = txtFirstName.Text.Trim();
cmd.Parameters.Add("@l_name", SqlDbType.VarChar).Value = txtLastName.Text.Trim();
cmd.Parameters.Add("@id", SqlDbType.Int).Direction = ParameterDirection.Output;
cmd.Connection = con;
try
{
con.Open();
cmd.ExecuteNonQuery();
string id = cmd.Parameters["@id"].Value.ToString();
MessageBox.Show("ثبت با موفقیت انجام شد "+"\n" +" آیدی ثبت شده"+" : "+ id);
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
con.Dispose();
}
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
باسلام
دستور insert
سمت Sql
create proc [dbo].[AddSerial]
@GrossWeight nvarchar (50),
@Date nvarchar(50)
as
Insert into TblSerial (GrossWeight,Date)
values (@GrossWeight,@Date
go)
سمت سی شارپ
SqlCommand cmd = new SqlCommand("AddSerial", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@GrossWeight", txt1.Text);
cmd.Parameters.AddWithValue("@Date", lblDate.Text);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("اطلاعات با موفقیت ثبت شد");
ds.Clear();
}
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
ممنونم آقا یونس
و با استفاده از SCOPE_IDENTITY آخرین آی دی ثبت شده رو دریافت کرده و به اون پارامتر خروجی انتصاب می دی :
چگونه این کار و انجام بدم؟
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
نقل قول:
نوشته شده توسط
kamiloted
ممنونم آقا یونس
و با استفاده از SCOPE_IDENTITY آخرین آی دی ثبت شده رو دریافت کرده و به اون پارامتر خروجی انتصاب می دی :
چگونه این کار و انجام بدم؟
اگه به کدهای پروسچری که من براتون گذاشتم دقت بکنین یه خط هست به این شکل :
SET @id=SCOPE_IDENTITY()
کار اون خط گرفتن آخرین آی دی ثبت شده بعد از هر بار ثبت رکورد جدید هست :لبخند:
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
نقل قول:
نوشته شده توسط
kamiloted
چگونه این کار و انجام بدم؟
کد پروسچر شما بایستی این شکلی بشه :
ALTER proc [dbo].[AddSerial]
@GrossWeight nvarchar (50),
@Date nvarchar(50)
@id int output
as
Insert into TblSerial (GrossWeight,Date)
values (@GrossWeight,@Date
SET @id=SCOPE_IDENTITY()
RETURN @id
go)
و کدهای مربوط به ثبت جدید در سمت برنامه هم به این شکل بایستی باشه :
SqlCommand cmd = new SqlCommand("AddSerial", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@GrossWeight", txt1.Text);
cmd.Parameters.AddWithValue("@Date", lblDate.Text);
con.Open();
cmd.ExecuteNonQuery();
string id = cmd.Parameters["@id"].Value.ToString();
MessageBox.Show("ثبت با موفقیت انجام شد "+"\n" +" آیدی ثبت شده"+" : "+ id);
con.Close();
ds.Clear();
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
نقل قول:
نوشته شده توسط
kamiloted
با سلام خدمت همه ی دوستان.
بنده روی فرمم یک تکست باکس دارم که میخوام با هر بار لود شدن یا رفرش شدن فرم ، تکست باکس یک عدد جدید بگیرد یا مثلا الان عدد 5 توی تکست باکس نوشته شده سری بعد که فرم رفرش شد با 1 جمع شود و 6 نمایش دهد به همین ترتیب ...
ممنون میشم راهنمایی کنید.
یه حلقه نوشتم توی رویداید لود به این صورت:
For (int I =0; i<20000000;<i++)
{
Textbox.text=i+1;
}
اما نمیدونم چکار کنم که هر بار که لود شد تغییر کنه
سلام عرض میکنم خدمت اساتید
دوست عزیز اگه سریالت فقط عدد باشه این کد شاید بدردت خورد. این کد بزرگترین عدد موجود تو دیتابیس رو بدست میاره و یه واحد بهش اضافه میکنه البته دیتابیس مد نظر اینجا اکسس هستش که میتونین با تغییر جزیی تو اس کیو ال هم استفاده کنین.اگر دیتابیستون خالی باشه یعنی کاربر اولین بار فرم را لود کرده و خطا گرفت میتونین یه try بذارین که نتونست این کد رو اجرا کنه خودش مثلا یک عدد که تو متغییر قرار دادین رو به عنوان سریال استفاده کنه و از او به بعد چون دیتابیس خالی نیست دیگه خطا نمیده
موفق باشید
#region
public static int mosbat()
{
int FilNumber, AddNumber, NewNumber;
AddNumber = 1;
OleDbConnection con = setconection();
OleDbCommand com = new OleDbCommand("select max(ID) from tblsabtenam", con);
con.Open();
FilNumber = Convert.ToInt32(com.ExecuteScalar());
NewNumber = FilNumber + AddNumber;
con.Close();
return NewNumber;
}
#endregion
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
جناب آقای خوخان الان من یک بانک دارم که یک سریال نمبر دارد و یک نام و یک تاریخ
که من در بانک آیدنتیتی اون رو یس کردم.
و استور پروسیجر بالا را براش نوشتم.
و روی فرمم 2 تا تکست باکس و یک باتون و یک دیتا گرید ویو گذاشتم.
تکست باکس 1 نام را میگیرد و تکست باکس 2 تاریخ و بر روی دکمه ثبت کلیک میشود و در بانک ثبت میشود.بلافاصله در دیتا گرید ویو
سریال نامبر و نام و تاریخ را نمایش میدهد.
برای مثال کاربر محمد 1394 را ثبت میکند و در دیتا گرید ویو به این صورت نمایش میدهد.
سریال نام تاریخ
5 محمد 1394
من میخوام بلا فاصله بعد از ثبت اون سریال در تکست باکس سوم که روی فرم است نمایش داده شود.
در کل من میخوام فیش صادر کنم و میخوام بلافاصله این تکست باکس ها که پر شدند و ثبت شدند هر سه مورد به گزارش فست ریپورت بروند و آماده شوند برای چاپ.
من این کارو طوری نوشتم که اطلاعات ابتدا در بانک ثبت میشوند بعد محتوای اون تکست باکس ها به گزارش میروند.چون سریال را خود بانک تعیین میکند کار من رو مشکل کرده است.
باید چکار کنم.
ممنونمممممممممم
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
جناب آقای خوخان اون کد شما فقط آخرین آیدی ثبت شده رو به من نمایش میدهد که من همون رو نیاز دارم اما نمیدونم چطور بگیرمش
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
نقل قول:
نوشته شده توسط
kamiloted
در کل من میخوام فیش صادر کنم و میخوام بلافاصله این تکست باکس ها که پر شدند و ثبت شدند هر سه مورد به گزارش فست ریپورت بروند و آماده شوند برای چاپ.
من این کارو طوری نوشتم که اطلاعات ابتدا در بانک ثبت میشوند بعد محتوای اون تکست باکس ها به گزارش میروند.چون سریال را خود بانک تعیین میکند کار من رو مشکل کرده است.
باید چکار کنم.
ممنونمممممممممم
اگه منظور شما اینه که هم زمان بعد از ثبت یه رکورد بالافاصله عمل چاپ هم انجام بشه که خوب این همه زلم زیمبو نمی خواد که......................
یه متد بگذار و محتوای کنترلها رو بگیره و از طریق پارامتر به گزارش بفرسته
بعد نام متد رو در آخر کدهای ثبت جدید قرار بده
اینطوری هروقت رکورد جدید ثبت بشه همون فیلدها عینا و مستقیما می ره به گزارش
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
نقل قول:
نوشته شده توسط
khokhan
اگه منظور شما اینه که هم زمان بعد از ثبت یه رکورد بالافاصله عمل چاپ هم انجام بشه که خوب این همه زلم زیمبو نمی خواد که......................
یه متد بگذار و محتوای کنترلها رو بگیره و از طریق پارامتر به گزارش بفرسته
بعد نام متد رو در آخر کدهای ثبت جدید قرار بده
اینطوری هروقت رکورد جدید ثبت بشه همون فیلدها عینا و مستقیما می ره به گزارش
دقیقا من مشکلم همینه که چه طور باید بنویسمش.ممنون میشم کمک کنید.با فست ریپورت
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
نقل قول:
نوشته شده توسط
kamiloted
دقیقا من مشکلم همینه که چه طور باید بنویسمش.ممنون میشم کمک کنید.با فست ریپورت
من به این صورت نوشتم
FastReport.Report rp = new FastReport.Report();
rp.Load(@"Sodor_Ghabz.frx");
rp.SetParameterValue("GhabzID", txt0.Text);
rp.SetParameterValue("GrossWeight", txt1.Text);
rp.SetParameterValue("Date", lblDate.Text);
rp.Show();
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
FastReport.Report rp = new FastReport.Report();
rp.Load(@"Sodor_Ghabz.frx");
rp.SetParameterValue("GhabzID", txt0.Text);
rp.SetParameterValue("Date", lblDate.Text);
rp.Show();
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
که در قسمت فست ریپورت به بانک متصل نکردم خودم دستی براش نوشتم
-
1 ضمیمه
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
نقل قول:
نوشته شده توسط
kamiloted
جناب آقای خوخان کمک نمیکنید
شاید بتونم با این نمونه منظورم رو برسون
-
1 ضمیمه
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
جناب آقای خوخان بسیار ممنونم بازم کارتون مثل همیشه عالی بود.
یه مشکل دیگه که نمیدونم دقیقا چیه.
وقتی اولین اطلاعات و ثبت میکنم به درستی ثبت میشه و به گزارش فرستاده میشه. اما وقتی میخوام یکی دیگه ثبت کنم اطلاعات رو وارد میکنم و به محض زدن باتون ثبت با این خطا روبرو میشم مشکل چه؟ ممنون
ضمیمه 139292
-
نقل قول: افزودن به یک عدد و نمایش در TextBox با هر بار ایجاد و نمایش فرم.
مشکل حل شد.
ممنونم از همه ی دوستانی که کمک کردند به ویژه جناب آقای خوخان.