الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في الإتصال بقاعدة البيانات

بدأه getiteasy في 13 نوفمبر 2011 · 1 رد · 399 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله و بركاته لقد قمت بعمل إتصال بقاعدة البيانات mysql

هذا كود الإتصال :

import java.sql.DriverManager;
import java.sql.SQLException;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;


public class DemoJdbc {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		SauverenBase("Anas");

	}
	public static void SauverenBase(String name){
		String url = "jdbc:mysql://localhost/jee";
		String login = "root";
		String pwd = "";
		Connection cn = null;
		Statement ste = null;
		try{
			Class.forName("com.mysql.jdbc.Driver");
			cn =  DriverManager.getConnection(url, login, pwd);
			ste =  cn.createStatement();
			String sql = "Insert Into user ('name') values('"+ name +"')";
			ste.executeUpdate(sql);
		}catch(SQLException e){
			e.printStackTrace();
		}catch(ClassNotFoundException e){
			e.printStackTrace();
		}finally{
			try{
				cn.close();
				ste.close();
			}catch(SQLException e){
				e.printStackTrace();
			}
		}
	}

}

لكن دائما يعطيني هذا الخطأ

Type mismatch: cannot convert from java.sql.Connection to com.mysql.jdbc.Connection

Type mismatch: cannot convert from java.sql.Statement to com.mysql.jdbc.Statement

يا ريت تساعدوني و شكرا مقدما

#2

السلام عليكم ...

عزيزي الإجراء

DriverManager.getConnection

يعيد Connection و هي بالمناسبة Interface و لكن لو مررنا له البارمتر jdbc:mysql://localhost/jee فإنه سيعيد الصف com.mysql.jdbc.Connection و الذي هو يحقق (implement) هذه الــ Interface .. و لدينا حلان إما .. أن نجعل الــ import بهذا الشكل :

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

و باقي الكود كما هو ...

أو نعمل ما يسمى بالــ casting . مع باقي الــ import كما هو :

import java.sql.DriverManager;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;


public class DemoJDBC {

    	/**
 		* @param args
 		*/
    	public static void main(String[] args) {
            	// TODO Auto-generated method stub
            	SauverenBase("Anas");

    	}
    	public static void SauverenBase(String name){
            	String url = "jdbc:mysql://localhost/jee";
            	String login = "root";
            	String pwd = "";
            	Connection cn = null;
            	Statement ste = null;
            	try{
                    	Class.forName("com.mysql.jdbc.Driver");
                    	cn =  (com.mysql.jdbc.Connection)DriverManager.getConnection(url, login, pwd);
                    	if(cn instanceof com.mysql.jdbc.Connection)
                        	System.out.println("it is");
                    	ste =  (com.mysql.jdbc.Statement)cn.createStatement();
                    	String sql = "Insert Into MyUser (name) values('"+ name +"')";
                    	ste.executeUpdate(sql);
            	}catch(SQLException e){
                    	e.printStackTrace();
            	}catch(ClassNotFoundException e){
                    	e.printStackTrace();
            	}finally{
                    	try{
                            	cn.close();
                            	ste.close();
                    	}catch(SQLException e){
                            	e.printStackTrace();
                    	}
            	}
    	}

}

ملاحظة : عبارة الــ Insert فيها خطأ في علامات التنصيص .. انتبه للكود في الأعلى ..

و تجنب تسمية الجداول بالكلمات المحجوزة مثل user أو table أو ... أنا سميته MyUser

تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 13 نوفمبر 2011 في 18:58

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…