منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مبتدىء فى بيئة الدوت نت - مشكلة فى كود الحفظ
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم ورحمة الله وبركاته
أخوتى وأحبائى دمتم بإذن الله طيبين وأعاد الله عليكم الأيام المباركة بكل خير
أما مشكلتى أنى مبتدىء فى بيئة دوت نت 
وعندى مشكلة فى كود زر الحفظ والتصدير لقاعدة البيانات 
المثال مرفق
اخى الحبيب
1-هل ترغب بان يكون رقم السجل يضاف يدويا او رقم تلقائى
2-هل ترغب ان تتضمن الشاشة جدول ( الداتا قريد فيو )

انا بخدمتك

ملحوظه
اجعل لقاعده البيانات اسم له مدلول :- مثل (Tel_db)
واجعل اسم الجداول الداخليه  لها ابضا مدلول  مثال  لجدول :-  User
وجدول اليوزر يكون مرتب الحقول
User_id
User_Name
User_Age
User_Adress
User_Tel1
User_Tel2
User_Tel3
User_Tel4
User_Tel1
User_Not

ودائما اجعل مسميات الحقول فى الفورم مطابق لمسميات الحقول فى جدول قاعده البيانات
مثال
حقل رقم السجل txtUser_id
وهكذا

لان التنظيم فى العمل يجعل العقل يبدع فى التركيز

انا انتظر ما تامرني له 

تقبل تحياتى
(14-08-19, 06:25 PM)ابوثامرالحربي كتب : [ -> ]اخى الحبيب
1-هل ترغب بان يكون رقم السجل يضاف يدويا او رقم تلقائى
2-هل ترغب ان تتضمن الشاشة جدول ( الداتا قريد فيو )

انا بخدمتك

ملحوظه
اجعل لقاعده البيانات اسم له مدلول :- مثل (Tel_db)
واجعل اسم الجداول الداخليه  لها ابضا مدلول  مثال  لجدول :-  User
وجدول اليوزر يكون مرتب الحقول
User_id
User_Name
User_Age
User_Adress
User_Tel1
User_Tel2
User_Tel3
User_Tel4
User_Tel1
User_Not

ودائما اجعل مسميات الحقول فى الفورم مطابق لمسميات الحقول فى جدول قاعده البيانات
مثال
حقل رقم السجل txtUser_id
وهكذا

لان التنظيم فى العمل يجعل العقل يبدع فى التركيز

انا انتظر ما تامرني له 

تقبل تحياتى
يا أخى الحبيبت أم بالنسبة لسؤالك الأول 
رقم  1 نعم أريد أن يكون رقم تلقائى (بريد أعرف الطريقة )
رقم 2 بس أولا أعرف أزاى أنشىء أتصال صحيح مع قاعدة البيانات أولا وبعدين أدخل على الأداة داتا جريد فأنا مبتدىء ولا أريد التشويش على نفسى بتعلم كل شىء مرة واحدة ولكن أريد التعلم خطوة خطوة
أكرر شكرى
اخى الحبيب ليس هناك تشويش على النفس اذا كانت المعلومات مترتبه
اذا قمت بالترتيب كما قلت لك سابقا سيسهل عليك بقيه الخطوات
لان الامور اذا حسن ترتيبها يسهل فهمها لاحقا . وتعقبها فى ترتيب سياق العمل والخطوات بكتابه الكود .

سوف يشرفنى ان اعمل اليك ما طلبته وسوف اعمل (كومنتات \ استدلاليه) فى صفحه الكود لكى يسهل عليك فهم الكود

الى الملتقى باذن الله
منتظرك وأدعو الله أن يديم نفعه بشخصك
السلام عليكم اخي الكريم
الطريقة التي تعتمد عليها في الحفظ هي الوضع المتصل
اما المشكلة لديك في الحفظ هو رقم السجل اذ يجب تحوبله من نص الى رقم
احذف الموديول وقم بوضع هذا الكود للفورم الرئيسي ثم اضف الحقول الناقصة الى جملة Insert حسب مسميات مربعات النصوص لديك 

ولانحتاج الى كتابة اسماء الحقول ثم القيم بل نكتب القيم مباشرة مع الانتباه الى ان الحقول الرقمية في الجدول يجب تحوبلها من نص الى رقم
واليك الكود
كود :
Imports System.Data.OleDb
Imports System.Data
Public Class Form1
   Dim con As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=pho.accdb;Persist Security Info=False;")
   Dim Da As OleDbDataAdapter
   Dim Dt As New DataTable
   Dim Cmd As New OleDbCommand()



   Private Sub save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles save.Click
       'الوضع المتصل
       Try
           ' انتبه الى الحقل رقم السجل يجب تحويله من نص الى رقم
           Dim Str As String = "insert into ooo values (" & CInt(TextBox1.Text) & ",'" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "')"
           Cmd = New OleDbCommand(Str, con)
           con.Open()
           Cmd.ExecuteNonQuery()

       Catch ex As Exception
           MsgBox("لم يتم الحفظ ", MsgBoxStyle.Critical)
       Finally
           con.Close()
       End Try
   End Sub
End Class
(14-08-19, 08:34 PM)ابراهيم ايبو كتب : [ -> ]السلام عليكم اخي الكريم
الطريقة التي تعتمد عليها في الحفظ هي الوضع المتصل
اما المشكلة لديك في الحفظ هو رقم السجل اذ يجب تحوبله من نص الى رقم
احذف الموديول وقم بوضع هذا الكود للفورم الرئيسي ثم اضف الحقول الناقصة الى جملة Insert حسب مسميات مربعات النصوص لديك 

ولانحتاج الى كتابة اسماء الحقول ثم القيم بل نكتب القيم مباشرة مع الانتباه الى ان الحقول الرقمية في الجدول يجب تحوبلها من نص الى رقم
واليك الكود
كود :
Imports System.Data.OleDb
Imports System.Data
Public Class Form1
   Dim con As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=pho.accdb;Persist Security Info=False;")
   Dim Da As OleDbDataAdapter
   Dim Dt As New DataTable
   Dim Cmd As New OleDbCommand()



   Private Sub save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles save.Click
       'الوضع المتصل
       Try
           ' انتبه الى الحقل رقم السجل يجب تحويله من نص الى رقم
           Dim Str As String = "insert into ooo values (" & CInt(TextBox1.Text) & ",'" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "')"
           Cmd = New OleDbCommand(Str, con)
           con.Open()
           Cmd.ExecuteNonQuery()

       Catch ex As Exception
           MsgBox("لم يتم الحفظ ", MsgBoxStyle.Critical)
       Finally
           con.Close()
       End Try
   End Sub
End Class
ليه أحذف المديول . ماهو وجوده واجب لأن أنا كل ماهاجى أعمل أتصال على أى فورم هاخد منه 
ثانيا رقم السجل ف القاعدة معمول auto number
ثالثا أنا شايف أن الطريقة دى مختصرة أنا بتصل بالقاعدة من خلال المديول زوبعد كدة بستدعى الإتصال دة فى أى حدث أنا شغال فيه
اخي لامشكلة اترك الموديول كما تريد 
المهم ان مشكلة الحفظ لديك هي تحوبل من نص الى رقم 
او استخدم باراميترات في الادخال
او استخدم الطريقة المنفصلة كل ذلك بعود لك
(14-08-19, 09:21 PM)ابراهيم ايبو كتب : [ -> ]اخي لامشكلة اترك الموديول كما تريد 
المهم ان مشكلة الحفظ لديك هي تحوبل من نص الى رقم 
او استخدم باراميترات في الادخال
او استخدم الطريقة المنفصلة كل ذلك بعود لك
 
فهمتك , بس هو مش المفروض أى إدخال أنا بدخله حتى لو رقم هو يتعامل معاه على أنه نص ؟
إزاى أستخدم باراميترات فى الإدخال
وأيه هى الطريقة المنفصلة ( الطريقة اللى حضرتك أقترحتها فى الرد السابق مش  كدة )
الحقل الترقيم هو حقل Number ومربع النص عبارة عن نص
وعند الادخال يجب تحوبله الى رقم
اما الوضع المنفصل فهو مختلف سأضع لك مثالا بعد قليل

تفضل اخي هذا مثال على الوضع المنفصل
اقرأ الاكواد ثم اضف الحقول التي تريد بفس النهج
 وغير قاعدة البيانات لما عندك وكذلك اسماء الحقول والادوات
الصفحات : 1 2