رفتن به مطلب
  • 0

ساخت دفترچه یادداشت


cloner01001

سوال

دوستان یه باتن تعریف کردم به اسم یادداشت جدید وقتی روش کلیک میشه یه صفحه باز میشه با دو تا ادیت تکست (عنوان و متن) و یه باتن به اسم ذخیره

یه دیتابیس ساختم با سه تا رکورد به اسم id - onvan - matn 

1- حالا میخوام وقتی رو باتن ذخیره کلیک شد متن داخل ادیت تکست ها تو رکورد مربوطه نوشته بشه

اما 2- لود کردن یادداشتتو صفحه اول برنامه روبلدم و با یه لیست ویومیشه آیتم ها رو لود کرد با استفاده از رکوردid | ولی حالا سوالم اینه فرض کنین سوال 1 حل شد ومتن داخل ادیت تکست ها تو رکورد ها ذخیره شد، اگه کاربر دوباره رو باتن "یادداشت جدید" کلیک کنه و داخل ادیت تکست عنوان و متن یه چیز دیگه بنویسه تو دیتابیس یه id جدید ذخیره میشه با عنوان و متن به خصوص خودش؟ به زبون ساده میخوام هر وقت که رو باتن یادداشت جدید کلیک شد یه id جدید ساخته بشه که عنوان و متن به خصوص خودش رو داشته باشه

لطفا راهنماییم کنین

لینک ارسال
به اشتراک گذاری در سایت های دیگر

10 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

مشخصه خو

شما اصلا متنی رو وارد نکردین فقط اومدین ادیت تکستها رو وارد کردین نه متنشون رو به جای onvan و matn به ترتیب بنویسید onvan.text و matn.text 

در مورد اینکه تو دیتابیس گزینه primary ندیدین شما اگه از navicat استفاده کنین علامتش یه کلید زرد رنگه 

این کار رو کردم بازم متن داخل ادیت تکست ها داخل دیتابیس ذخیره نشد

بله اون primary رو پیدا کردم اینم از دیتابیسم:

977814657514524476_adadawdawd.png
 
 
و کدها :
 
Sub Globals
	'These global variables will be redeclared each time the activity is created.
	'These variables can only be accessed from this module.

	
	Private onvan As EditText
	Private matn As EditText
	Private Button1 As Button
End Sub

Sub Activity_Create(FirstTime As Boolean)
	'Do not forget to load the layout file created with the visual designer. For example:
	Activity.LoadLayout("home")
	If File.Exists(File.DirInternal,"b.db")=False Then
	File.Copy(File.DirAssets,"b.db",File.DirInternal,"b.db")
	End If
	
	If s.IsInitialized=False Then
	s.Initialize(File.DirInternal,"b.db",False)
	End If
	


onvan.SingleLine=False
matn.SingleLine=False
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub



Sub Button1_Click
StartActivity(home)
s.ExecNonQuery("INSERT INTO mytable (onvan,matn) VALUES ('"&onvan.Text&"','"&matn.Text&"')")
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

سلام

از این کد استفاده کنید

برای فیلد های که به طور اتوماتیک مقدار می گیرن باید مقدار Null  رو ارسال کنید 

s.ExecNonQuery2("INSERT INTO mytable VALUES (Null,?,?)", Array As String(onvan,matn))

 

ازاین هم استفاده کردم ولی بازم متنداخل ادیت تکست ذخیره نشد تودیتابیس 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

این کار رو کردم بازم متن داخل ادیت تکست ها داخل دیتابیس ذخیره نشد

بله اون primary رو پیدا کردم اینم از دیتابیسم:

977814657514524476_adadawdawd.png
 
 
و کدها :
 
Sub Globals
	'These global variables will be redeclared each time the activity is created.
	'These variables can only be accessed from this module.

	
	Private onvan As EditText
	Private matn As EditText
	Private Button1 As Button
End Sub

Sub Activity_Create(FirstTime As Boolean)
	'Do not forget to load the layout file created with the visual designer. For example:
	Activity.LoadLayout("home")
	If File.Exists(File.DirInternal,"b.db")=False Then
	File.Copy(File.DirAssets,"b.db",File.DirInternal,"b.db")
	End If
	
	If s.IsInitialized=False Then
	s.Initialize(File.DirInternal,"b.db",False)
	End If
	


onvan.SingleLine=False
matn.SingleLine=False
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub



Sub Button1_Click
StartActivity(home)
s.ExecNonQuery("INSERT INTO mytable (onvan,matn) VALUES ('"&onvan.Text&"','"&matn.Text&"')")
End Sub

 

 

احتمالا به خاطر اینکه اول اکتیویتی رو استارت کردین دیگه کد بعدیش اجرا نمیشه رویداد کلیک رو به این صورت بنویسید ببینید حل میشه یا نه

Sub Button1_Click
s.ExecNonQuery("INSERT INTO mytable (onvan,matn) VALUES ('"&onvan.Text&"','"&matn.Text&"')")
StartActivity(home)
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

باز هم حل نشد ، ره دیگه ای برای ساخت دفترچه یادداشت به ذهنتون میرسه؟

دوست عزیز شما باید از کوئری ای که آقای آرتا دادند استفاده کنید:

 

 

سلام

از این کد استفاده کنید

برای فیلد های که به طور اتوماتیک مقدار می گیرن باید مقدار Null  رو ارسال کنید 

s.ExecNonQuery2("INSERT INTO mytable VALUES (Null,?,?)", Array As String(onvan,matn))

موفق باشید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

احتمالا به خاطر اینکه اول اکتیویتی رو استارت کردین دیگه کد بعدیش اجرا نمیشه رویداد کلیک رو به این صورت بنویسید ببینید حل میشه یا نه

Sub Button1_Click
s.ExecNonQuery("INSERT INTO mytable (onvan,matn) VALUES ('"&onvan.Text&"','"&matn.Text&"')")
StartActivity(home)
End Sub

 

باز هم حل نشد ، ره دیگه ای برای ساخت دفترچه یادداشت به ذهنتون میرسه؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوستان یه باتن تعریف کردم به اسم یادداشت جدید وقتی روش کلیک میشه یه صفحه باز میشه با دو تا ادیت تکست (عنوان و متن) و یه باتن به اسم ذخیره

یه دیتابیس ساختم با سه تا رکورد به اسم id - onvan - matn 

1- حالا میخوام وقتی رو باتن ذخیره کلیک شد متن داخل ادیت تکست ها تو رکورد مربوطه نوشته بشه

اما 2- لود کردن یادداشتتو صفحه اول برنامه روبلدم و با یه لیست ویومیشه آیتم ها رو لود کرد با استفاده از رکوردid | ولی حالا سوالم اینه فرض کنین سوال 1 حل شد ومتن داخل ادیت تکست ها تو رکورد ها ذخیره شد، اگه کاربر دوباره رو باتن "یادداشت جدید" کلیک کنه و داخل ادیت تکست عنوان و متن یه چیز دیگه بنویسه تو دیتابیس یه id جدید ذخیره میشه با عنوان و متن به خصوص خودش؟ به زبون ساده میخوام هر وقت که رو باتن یادداشت جدید کلیک شد یه id جدید ساخته بشه که عنوان و متن به خصوص خودش رو داشته باشه

لطفا راهنماییم کنین

 

من دقیقا متوجه توضیحاتی که داشتید نشدم ولی با استفاده از دستور Insert شما می تونید رکورد های جدیدی رو داخل همون فیلدهایی (و نه رکوردها!) که گفته بودید اضافه کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

"یه دیتابیس ساختم با سه تا رکورد" اشتباهه  درستش با سه تا فیلده  :malih: 

شما باید فیلد id تون رو ازنوع primary و aoutoincrement بزارین اینجوری خودش به صورت خودکار اضافه میشه هر وقت خواستین رکورد اضافه کنید به این شکل اضافه کنید

sql.ExecNonQuery("INSERT INTO yourtbl (onvan,matn) VALUES ('"&onvanvalue&"','"&matnvalue&"')")

به جای yourtbl اسم تیبل و به جای value ها مقادیر ادیت تکستتونو بدین

لینک ارسال
به اشتراک گذاری در سایت های دیگر

"یه دیتابیس ساختم با سه تا رکورد" اشتباهه  درستش با سه تا فیلده  :malih: 

شما باید فیلد id تون رو ازنوع primary و aoutoincrement بزارین اینجوری خودش به صورت خودکار اضافه میشه هر وقت خواستین رکورد اضافه کنید به این شکل اضافه کنید

sql.ExecNonQuery("INSERT INTO yourtbl (onvan,matn) VALUES ('"&onvanvalue&"','"&matnvalue&"')")

به جای yourtbl اسم تیبل و به جای value ها مقادیر ادیت تکستتونو بدین

 

 

ممنون از اصلاح سوال ولی تو sql این قسمت primary رو نتونستم پیدا کنم اما aoutoincrement رو فعال کردم

اما بازم متن داخل ادیت تکست ها داخل فیلد ها ذخیره نمیشه

اینم کدم:

Sub Process_Globals
Dim s As SQL
End Sub

Sub Globals
	Private onvan As EditText
	Private matn As EditText
	Private Button1 As Button
End Sub

Sub Activity_Create(FirstTime As Boolean)

	Activity.LoadLayout("home")
	If File.Exists(File.DirInternal,"b.db")=False Then
	File.Copy(File.DirAssets,"b.db",File.DirInternal,"b.db")
	End If
	
	If s.IsInitialized=False Then
	s.Initialize(File.DirInternal,"b.db",False)
	End If
	
onvan.SingleLine=False
matn.SingleLine=False
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub Button1_Click
s.ExecNonQuery("INSERT INTO mytable (onvan,matn) VALUES ('"&onvan&"','"&matn&"')")
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

مشخصه خو

شما اصلا متنی رو وارد نکردین فقط اومدین ادیت تکستها رو وارد کردین نه متنشون رو به جای onvan و matn به ترتیب بنویسید onvan.text و matn.text 

در مورد اینکه تو دیتابیس گزینه primary ندیدین شما اگه از navicat استفاده کنین علامتش یه کلید زرد رنگه 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

از این کد استفاده کنید

برای فیلد های که به طور اتوماتیک مقدار می گیرن باید مقدار Null  رو ارسال کنید 

s.ExecNonQuery2("INSERT INTO mytable VALUES (Null,?,?)", Array As String(onvan,matn))

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...