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

نسخة كاملة : مساعدة في تحويل كود من php الى vb.net
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
اهلا بكم جميعا

محتاج مساعدة في تحويل كود من 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>";

            
//////////
            
        



وشكرا على مساعدتكم
بكل صراحة لا افهم بالـphp
هل يمكنك شرح عمل الكود حتى يمكننا مساعدتك ؟
(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  موجود  ما يقوم بتنزيل معلوماته من جديد في قاعدة البيانات

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

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

وشكرا من جديد
السلام عليكم

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

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

كود :
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()
(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()




بارك الله فيك

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

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

الشيء الآخر يفترض وجود حقل id مفتاح رئيس، والذي سوف تحتاجه فيما بعد للتعديل أو الحذف،
صحيح لو وضع الحقل name على Unique قد يغني عن id،
ولكن الأفضل أن يكون موجود من أجل لو اضطررت لإلغاء صفة Unique عن الحقل name لاكتشافك انك مضطر تسجيل اكثر من شخص يتشابهون بالاسم عند الحاجة.
(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()




بارك الله فيك

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

شكرا لك


شكرا لك

الكود كما اللي اريده شكرا لك من جديد بارك الله فيك
بسبب نقل الكود من مشروع سابق نسيب استبدال جرء من الكود

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

حيث تم استبدال 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()
(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

شكرا من جديد