تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مساعدة في تحويل كود من php الى vb.net
#1
اهلا بكم جميعا

محتاج مساعدة في تحويل كود من php  الى vb.net  SQLite

الكود مفهوم وبصيط 

PHP كود :
$result $DB->query("SELECT * FROM Tables WHERE name = '$name'  and dati = '$dati' and time = '$time'");

        
$num$DB->num_rows($result);
        if (
$num<=0){
            
$result $DB->query("insert into `Tables` (name, dati, time ) 
                                        VALUES ('
$name', '$date', 'time')")
print 
"<br>add $name";


        }else{


$result $DB->query("insert into `Tables` (name, dati, time ) 
                                        VALUES ('
$name', '$date', 'time')")

print 
"<br><b>Duplicate $name </b>";

            
//////////
            
        



وشكرا على مساعدتكم
الرد
تم الشكر بواسطة: Basil Abdallah
#2
بكل صراحة لا افهم بالـphp
هل يمكنك شرح عمل الكود حتى يمكننا مساعدتك ؟
الرد
تم الشكر بواسطة: dubai.eig , dubai.eig
#3
(22-12-16, 07:34 PM)Basil Abdallah كتب : بكل صراحة لا افهم بالـphp
هل يمكنك شرح عمل الكود حتى يمكننا مساعدتك ؟

شكرا على الرد

عمل الكود 


يقوم الكود بالبحث في Tables  عن شخص معين name

PHP كود :
$result $DB->query("SELECT * FROM Tables WHERE name = '$name'  and dati = '$dati' and time = '$time'");

        
$num$DB->num_rows($result);
        if (
$num<=0){ 


اذا هذا الشخص name  موجود  ما يقوم بتنزيل معلوماته من جديد في قاعدة البيانات

واذا الشخص غير موجود يقوم بالتنزيل المعلومات

يعني منع التكرار في قاعدة البيانات

وشكرا من جديد
الرد
تم الشكر بواسطة:
#4
السلام عليكم

هذه أول مساعدة في هذا المنتدى

مع أن الكود سيضيف في كلا الحالتين، ولكن اعتمدت على توضيحك الأخير

كود :
Dim cn As New SqlCeConnection("Data Source=Database1.sdf")

Dim cmd As New SqlCeCommand(" SELECT COUNT(name) FROM Tables WHERE name = @name ", cn)
cmd.Parameters.AddWithValue("@name", _name)

cn.Open()
If cmd.ExecuteScalar = 0 Then
    cmd.CommandText = " INSERT INTO Tables(name, dati, time ) VALUES(@name, @date, @time ) "
    daa.SelectCommand.Parameters.AddWithValue("@dati", _dati)
    daa.SelectCommand.Parameters.AddWithValue("@time", _time)

    MsgBox("add " & _name)

Else
    MsgBox("Duplicate " & _name)

End If
cn.Close()
الرد
تم الشكر بواسطة: dubai.eig
#5
(22-12-16, 08:09 PM)مساعدة كتب : السلام عليكم

هذه أول مساعدة في هذا المنتدى

مع أن الكود سيضيف في كلا الحالتين، ولكن اعتمدت على توضيحك الأخير

كود :
Dim cn As New SqlCeConnection("Data Source=Database1.sdf")

Dim cmd As New SqlCeCommand(" SELECT COUNT(name) FROM Tables WHERE name = @name ", cn)
cmd.Parameters.AddWithValue("@name", _name)

cn.Open()
If cmd.ExecuteScalar = 0 Then
   cmd.CommandText = " INSERT INTO Tables(name, dati, time ) VALUES(@name, @date, @time ) "
   daa.SelectCommand.Parameters.AddWithValue("@dati", _dati)
   daa.SelectCommand.Parameters.AddWithValue("@time", _time)

   MsgBox("add " & _name)

Else
   MsgBox("Duplicate " & _name)

End If
cn.Close()




بارك الله فيك

بقوم بتجربة الان 

شكرا لك
الرد
تم الشكر بواسطة:
#6
المفروض عمل Unique للحقلname لعدم التكرار بدون الحاجة للتأكد.

الشيء الآخر يفترض وجود حقل id مفتاح رئيس، والذي سوف تحتاجه فيما بعد للتعديل أو الحذف،
صحيح لو وضع الحقل name على Unique قد يغني عن id،
ولكن الأفضل أن يكون موجود من أجل لو اضطررت لإلغاء صفة Unique عن الحقل name لاكتشافك انك مضطر تسجيل اكثر من شخص يتشابهون بالاسم عند الحاجة.
الرد
تم الشكر بواسطة:
#7
(22-12-16, 08:12 PM)dubai.eig كتب :
(22-12-16, 08:09 PM)مساعدة كتب : السلام عليكم

هذه أول مساعدة في هذا المنتدى

مع أن الكود سيضيف في كلا الحالتين، ولكن اعتمدت على توضيحك الأخير

كود :
Dim cn As New SqlCeConnection("Data Source=Database1.sdf")

Dim cmd As New SqlCeCommand(" SELECT COUNT(name) FROM Tables WHERE name = @name ", cn)
cmd.Parameters.AddWithValue("@name", _name)

cn.Open()
If cmd.ExecuteScalar = 0 Then
   cmd.CommandText = " INSERT INTO Tables(name, dati, time ) VALUES(@name, @date, @time ) "
   daa.SelectCommand.Parameters.AddWithValue("@dati", _dati)
   daa.SelectCommand.Parameters.AddWithValue("@time", _time)

   MsgBox("add " & _name)

Else
   MsgBox("Duplicate " & _name)

End If
cn.Close()




بارك الله فيك

بقوم بتجربة الان 

شكرا لك


شكرا لك

الكود كما اللي اريده شكرا لك من جديد بارك الله فيك
الرد
تم الشكر بواسطة:
#8
بسبب نقل الكود من مشروع سابق نسيب استبدال جرء من الكود

هناك تصحيح للكود

حيث تم استبدال daa.SelectCommand ب cmd
كود :
Dim cn As New SqlCeConnection("Data Source=Database1.sdf")

Dim cmd As New SqlCeCommand(" SELECT COUNT(name) FROM Tables WHERE name = @name ", cn)
cmd.Parameters.AddWithValue("@name", _name)

cn.Open()
If cmd.ExecuteScalar = 0 Then
   cmd.CommandText = " INSERT INTO Tables(name, dati, time ) VALUES(@name, @date, @time ) "
   cmd.Parameters.AddWithValue("@dati", _dati)
   cmd.Parameters.AddWithValue("@time", _time)

   MsgBox("add " & _name)

Else
   MsgBox("Duplicate " & _name)

End If
cn.Close()
الرد
تم الشكر بواسطة: dubai.eig , dubai.eig
#9
(22-12-16, 08:51 PM)مساعدة كتب : بسبب نقل الكود من مشروع سابق نسيب استبدال جرء من الكود

هناك تصحيح للكود

حيث تم استبدال daa.SelectCommand ب cmd
كود :
Dim cn As New SqlCeConnection("Data Source=Database1.sdf")

Dim cmd As New SqlCeCommand(" SELECT COUNT(name) FROM Tables WHERE name = @name ", cn)
cmd.Parameters.AddWithValue("@name", _name)

cn.Open()
If cmd.ExecuteScalar = 0 Then
   cmd.CommandText = " INSERT INTO Tables(name, dati, time ) VALUES(@name, @date, @time ) "
   cmd.Parameters.AddWithValue("@dati", _dati)
   cmd.Parameters.AddWithValue("@time", _time)

   MsgBox("add " & _name)

Else
   MsgBox("Duplicate " & _name)

End If
cn.Close()

فعلا في البدايه شفت daa وقممت بتغييره Smile

شكرا من جديد
الرد
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم