Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
SoloIlya
0 / 0 / 3
Регистрация: 28.05.2013
Сообщений: 64
#1

Отобразить таблицу БД - Программирование Android

28.05.2013, 11:44. Просмотров 1001. Ответов 7
Метки нет (Все метки)

Всем доброго времени суток!
Недавно столкнулся с проблемой, как отобразить таблицу БД, которая содержит в себе 4 столбца. Пытался использовать уже имеющиеся примеры отображения таблицы в ListView, но у меня выходит только отобразить один столбец! Подскажите пожалуйста, как можно решить эту проблему? Что использовать для отображения таблицы?
http://www.cyberforum.ru/delphi-database/thread1949545.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2013, 11:44
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Отобразить таблицу БД (Программирование Android):

Правильно отобразить таблицу
Заказ билетов на фильм. В зависимости от выбранного зала нужно его схематично...

Отобразить пустую таблицу
Помогите, пожалуйста. Подскажите, какую процедуру для SQL Server нужно...

Отобразить пустую таблицу
Помогите, пожалуйста. Подскажите, какую процедуру для SQL Server нужно...

Как лучше отобразить таблицу БД?
Добрый день! В БД есть таблица услуг. Услуги разделяются по отделам и в...

Как отобразить таблицу в форме
как отобразить данные из таблицы Заказы в форме ?

7
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.05.2013, 11:46 #2
все правильно, используйте ListView.
1
SoloIlya
0 / 0 / 3
Регистрация: 28.05.2013
Сообщений: 64
28.05.2013, 12:11  [ТС] #3
А каким образом можно задать количество отображаемых в нем столбцов?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.05.2013, 12:42 #4
добавляя в лаяут айтема TextView'и.
1
SoloIlya
0 / 0 / 3
Регистрация: 28.05.2013
Сообщений: 64
28.05.2013, 13:05  [ТС] #5
В приведенном ниже коде у меня реализуется отображение одного столбца NAME, что нужно еще дописать чтоб осуществлялось отображение столбца PRICE?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.day);
        DatabaseOpenHelper dbhelper = new DatabaseOpenHelper(getBaseContext());
        SQLiteDatabase sqliteDB = dbhelper.getReadableDatabase();
        final String[] from = { NamesColumns.NAME, BaseColumns._ID };
        final Cursor c = sqliteDB.query(Names.TABLE_NAME, null, null, null, null, null,
                Names.DEFAULT_SORT);
        final int i = c.getCount();
        final int[] to = new int[] { R.id.text1};
        //final int[] to1 = new int[] { R.id.text2};
        final SimpleCursorAdapter adapter = new SimpleCursorAdapter(getApplicationContext(), R.layout.list,
                c, from, to);
        final ListView lv = (ListView) findViewById(R.id.listView1);        
        lv.setAdapter(adapter);
    }
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.05.2013, 13:08 #6
Java
1
2
3
4
5
6
7
8
9
final String[] from = { NamesColumns.NAME, NamesColumns.PRICE };
        final Cursor c = sqliteDB.query(Names.TABLE_NAME, null, null, null, null, null,
                Names.DEFAULT_SORT);
        final int i = c.getCount();
        final int[] to = new int[] { R.id.text1,  R.id.text2};
        final SimpleCursorAdapter adapter = new SimpleCursorAdapter(getApplicationContext(), R.layout.list,
                c, from, to);
        final ListView lv = (ListView) findViewById(R.id.listView1);        
        lv.setAdapter(adapter);
1
SoloIlya
0 / 0 / 3
Регистрация: 28.05.2013
Сообщений: 64
28.05.2013, 13:21  [ТС] #7
Я внес эти изменения, но результат не изменился(
У меня есть еще класс в нем создается массив, может в нем надо что-то добавить или изменить?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package DataBase;
 
import java.util.ArrayList;
 
import DataBase.DatabaseContract.Names;
import DataBase.DatabaseContract.Names.NamesColumns;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.provider.BaseColumns;
import android.util.Log;
 
 
public class ManController {
    
    private static final boolean LOGV = false;
    private static int maxRowsInNames = -1;
    private static final String TAG = ManController.class.getSimpleName();
    
    private ManController(){    
    }
    
    public static int getMaxRowsInNames() {
        return maxRowsInNames;
    }
    
    public static ArrayList<Names> readNames(Context context) {
        ArrayList<Names> list = null;
        try {
                DatabaseOpenHelper dbhelper = new DatabaseOpenHelper(context);
                SQLiteDatabase sqliteDB = dbhelper.getReadableDatabase();
                String[] columnsToTake = { BaseColumns._ID, NamesColumns.NAME, NamesColumns.DATE };
                Cursor cursor = sqliteDB.query(Names.TABLE_NAME, columnsToTake, null, null, null, null, null,
                                Names.DEFAULT_SORT);
                if (cursor.moveToFirst()) {
                        list = new ArrayList<Names>();
                }
                while (cursor.moveToNext()) {
                        Names oneRow = new Names();
                        oneRow.setId(cursor.getLong(cursor.getColumnIndexOrThrow(BaseColumns._ID)));
                        oneRow.setName(cursor.getString(cursor.getColumnIndexOrThrow(NamesColumns.NAME)));
                        oneRow.setName(cursor.getString(cursor.getColumnIndexOrThrow(NamesColumns.DATE)));
                        list.add(oneRow);
                }
                cursor.close();
                dbhelper.close();
        } catch (Exception e) {
                Log.e(TAG, "Failed to select Names.", e);
        }
        return list;
    }
    
    public static void write(Context context, String name, Double price, int kol, String date) {
 
        try {
                //создали нашу базу и открыли для записи
                DatabaseOpenHelper dbhelper = new DatabaseOpenHelper(context);
                SQLiteDatabase sqliteDB = dbhelper.getWritableDatabase();
                String quer = null;
                int countRows = -1;
                //Открыли курсор для записи
                Cursor cursor = sqliteDB.query(Names.TABLE_NAME, new String[] { "count(*)" }, null, null, 
                        null, null, Names.DEFAULT_SORT);
                if (cursor.moveToFirst()) {
                        countRows = cursor.getInt(0);
                        if (LOGV) {
                                Log.v(TAG, "Count in Names table" + String.valueOf(countRows));
                        }
                }
                cursor.close();
                if ((maxRowsInNames == -1) || (maxRowsInNames >= countRows)) {
                        //дальще наш запрос в базу для записи полученны х дынных из функции
                        quer = String.format("INSERT INTO %s (%s, %s, %s, %s) VALUES (%s, %s, %s, %s);",
                                        // таблица
                                        Names.TABLE_NAME,
                                        // колонки
                                        Names.NamesColumns.NAME, Names.NamesColumns.PRICE,
                                        Names.NamesColumns.KOL, Names.NamesColumns.DATE,
                                        // поля
                                        name, price, kol, date);
                }
                //закрыли всю базу
                sqliteDB.execSQL(quer);
                sqliteDB.close();
                dbhelper.close();
        } catch (SQLiteException e) {
                Log.e(TAG, "Failed open rimes database. ", e);
        } catch (SQLException e) {
                Log.e(TAG, "Failed to insert Names. ", e);
        }
    }
}
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.05.2013, 16:33 #8
http://thinkandroid.wordpress.com/20...and-listviews/
1
28.05.2013, 16:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2013, 16:33
Привет! Вот еще темы с решениями:

Таблицу из Word отобразить на форме
Возможно ли таблицу из Word (или Excel) переместить на форму, отобразить...

Отобразить таблицу Interbase в DbGrid
Здравствуйте! Вот только начал знакомство з базами данных. Необходимо зделать...

Как отобразить таблицу из БД postgresql в браузере
Подскажите каким методом таблицу из базы данных в Postgresql можно просмотреть...

Вложенные циклы, отобразить в консоли таблицу
Отобразить в консоли таблицу в виде: 2 4 6 8 10 4 6 8 10 8 6 8 10 8 6 8...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru