نمایش نتایج 1 تا 5 از 5

نام تاپیک: مشکل عبارت like در جاوا با Access2010

  1. #1
    کاربر جدید
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    اراک
    پست
    29

    Question مشکل عبارت like در جاوا با Access2010

    با سلام خدمت دوستان
    من یه برنامه دسکتاپ جاوا میخام بنویسم که با پایگاه داده ms access2010 کار میکنه. چون خیلی سبکه و data entry زیادی نداره از اکسس استفاده میکنم فقط برای راحتی کار باهاش.
    برای اتصال به اون از datasource سیستم کمک گرفتم یعنی ODBC.
    کانکشنم درسته و کار میکنه.
    اما تو سرچ از جدولم (select) مشکل دارم. وقتی میخام از دستور like استفاده کنم توی خود access میرم تو query دستور like کار میکنه و خروجی هم داره
    اما وقتی همین کدو توی اپلیکیشن میفرستم کار نمیکنه یعنی خروجی نداره. خطا هم نمیده.
    این هم دستور select :
     SELECT karmand.K_ID, karmand.K_name, karmand.family FROM karmand
    WHERE (((karmand.K_name Like 'm*') AND ((karmand.family) Like 'b*')));


    توی خود اکسس لیست کارمندایی که اسمشون با m و فامیلی با b شرو شده میاره.
    *********
    برای اطلاع : من از connection دیتابیس یه Statement می سازم و با اون executeQuery میکنم و میریزم توی ResultSet. دستورات جاوام مشکلی نداره چون وقتی دستور select رو بدون شرط Where اجرا میکنم قشنگ خروجی میده.
    دوستان لطف کنن راهنمایی کنن مشکل از کجاست؟
    آخرین ویرایش به وسیله mostafabahrami : سه شنبه 26 بهمن 1395 در 18:51 عصر

  2. #2
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: مشکل عبارت like در جاوا با Access2010

    کاش کد جاوایی که این دستورات رو وارد کردی رو هم میذاشتی

  3. #3
    کاربر جدید
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    اراک
    پست
    29

    Arrow نقل قول: مشکل عبارت like در جاوا با Access2010

    1111111111111111111

  4. #4
    کاربر جدید
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    اراک
    پست
    29

    Arrow نقل قول: مشکل عبارت like در جاوا با Access2010

    نقل قول نوشته شده توسط vahid-p مشاهده تاپیک
    کاش کد جاوایی که این دستورات رو وارد کردی رو هم میذاشتی
    اینم
    کد جاواش:

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;public class DataBase {

    Connection con = null;
    private boolean createCon() {
    this.con = null;
    try {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    } catch (ClassNotFoundException ex) {
    return false;
    }
    try {
    this.con = DriverManager.getConnection("jdbc:odbc:myDb", "ali", "123456");
    } catch (SQLException ex) {
    return false;
    }
    return true;
    }
    private boolean closeCon() {
    try {
    this.con.close();
    } catch (SQLException ex) {
    return false;
    }
    return true;
    }
    public KarmandInfo search2(String name, String family) throws SQLException {
    KarmandInfo karmandInfo = null;
    Connection c;
    if (createCon()) {
    c = this.con;
    } else {
    return null;
    }
    Statement st = null;
    st = c.createStatement();
    String query = "SELECT karmand.K_ID, karmand.K_name, karmand.family FROM karmand WHERE (((karmand.K_name Like 'm*') AND ((karmand.family) Like 'b*'));";
    // query = "SELECT * FROM karmand ; ";
    System.out.println("query = " + query);
    ResultSet rs = null;
    rs = st.executeQuery(query);
    while (rs.next()) {
    karmandInfo = new KarmandInfo();
    //karmandInfo.K_ID=rs.getString(1);
    System.out.println(rs.getString(1));
    }
    closeCon();
    return karmandInfo;
    }



    کلاس KarmandInfo هم فقط شامل فیلدای این جدوله اینم کدش :
    public class KarmandInfo {
    public String K_ID;
    public String name;
    public String family;
    public String unit_id;
    public String unit_name;
    }

    اینجایی که کامنت کردم :
    // query = "SELECT * FROM karmand";
    وقتی از کامنت در میارم و اجراش میکنم کد کارمندی رو چاپ میکنه
    قبل از اجرا هم خود متغیر query رو میدم خروجی کنسول چاپ کنه بعدش همونو توی access کپی میکنم جواب میده ولی تو جاوا که ران میشه نه!
    مرسی

  5. #5
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: مشکل عبارت like در جاوا با Access2010

    کدت با چیزی که تو پست اول نوشتی فرق میکنه.
    بعد where یک پرانتز باز شده که بسته نشده.
    ضمنا داشتن یا نداشتن ; رو هم بعد Like 'b*')) رو هم تست کن (بعید میدونم مشکلی داشته باشه)

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •