Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Как редактировать данные в базе данных MS Access с помощью Delphi?

Как редактировать данные в базе данных ms access с помощью delphi
Ответ:
Как редактировать данные в базе данных ms access с помощью delphi
Что интересует то? Компоненты? Или все вообще "с нуля"?
Вопрос: Базы данных на нескольких формах и OpenFileDialog

Здравствуйте! Для начала я хотел бы поблагодарить администрацию форума и участников за то, что благодаря Вам существует такой замечательный ресурс! Вот уже месяц я делаю своё приложение (изучая С# с нуля) и 99% проблемных вопросов решаются при изучении Ваших обсуждений.

По существу:
Создал две формы - на первой и второй формах базы данных Access подключены к Combobox (через Задачи - Источник данных).
Базы данных разные (два файла) - на первой это фамилии, на второй перечень программ. По базам данных всё работает без нареканий.

Так же на каждой из форм есть кнопки позволяющие сохранить (загрузить) различные данные (не связанные с БД) через savefiledialog (openfiledialog).

Проблема в том, что savefiledialog (openfiledialog) работает только на первой форме. На второй форме появляется ошибка попытки записи в защищенную область - выделяется openFileDialog1.ShowDialog().
Если убрать базу данных с первой формы - вторая работает отлично (появляется меню выбора файла).
Если убрать базу данных со второй формы - openFileDialog начинает работать.

Понял что дело в базе данных.
Такое ощущение, что первая база данных мешает второй, потому-что первую я никак не отключаю (но при чем тут openfiledialog который с ними никак не связан?) Из кода который появился после подсоединения базы только эта строка:

C#
1
2
3
TODO: данная строка кода позволяет загрузить данные в таблицу "база_ПОDataSet.ПО_и_разработчики". 
При необходимости она может быть перемещена или удалена.
this.пО_и_разработчикиTableAdapter.Fill(this.база_ПОDataSet.ПО_и_разработчики);
Убираю её - отключается база данных и всё работает.
Объясните пожалуйста в чём дело?

P.S. Ради интереса создавал 2 пустые формы и создавал на них по одному Combobox и по кнопке вызывающей openFileDialog1 - результат тот же.
Ответ:
Сообщение от Sandro331k
Базы данных разные (два файла)
А зачем так? Почему бы не использовать одну БД?
Сообщение от Sandro331k
на первой и второй формах базы данных Access подключены к Combobox (через Задачи - Источник данных).
В этом ваша основная проблема - вы наловчились использовать встроенные в Студию конструкторы, а как только что-то пошло не так-теряетесь. Пишите код работы с БД руками, все сами, и знания тонкостей работы будут, да и в сгенерированном Студией коде потом сможете разобраться.
Вопрос: Подключение базы данных Access

Здравствуйте, я уже месяц бьюсь над подключением базы данных Access к проекту Visual C#.
Большая часть примеров в интернете относится к SQL и нужной информации я не нашёл.
Прошу помочь мне.
Ответ: Посмотрите здесь:

А если вам нужна только строка подключения, тогда вам сюда:
Вопрос: Подключиться к базе данных созданной в sql server

Здравствуйте, могли бы подсказать пожалуйста. Нужно написать прогу, которая как-то подключается(открывает) к базе данных созданной в sql server. Прога должна выводить текущие таблицы, заполнять их, удалять какие-то значения. Могли бы подсказать, где об этом можно почитать. Или как правильно в гугле сформировать запрос.
Ответ: А. Хомоненко, С. Ададуров - Работа с базами данных в C++ BUILDER
Книга как раз подойдет, понятна и проста
Вопрос: Проблема с подключением базы данных созданной в Access к форме

Добрый день, помогите с проблемой.
Имеется форма, на ней есть ListBox, хотелось бы в него выводить столбец из базы данных. Пытаюсь добавить в проект свою базу данных, но выдают ошибку
Кликните здесь для просмотра всего текста

Таблица имеет связи.
Также нужно реализовать добавление, удаление и обновление данных. Подскажите как это лучше реализовать
Ответ: В каждой таблице есть ключевые поля, но ошибку выдает
Кликните здесь для просмотра всего текста

думал может что не так с БД
Вопрос: База данных MS Access и Delphi

Добрый вечер!

Хочу создать базу данных (MS Access) и приложение средствами Delphi(Клиент).
База данных находится на другом ПК.
И так друзья, как сделать так, что бы я мог манипулировать через Глобальную сеть (Интернет).
Надеюсь поняли мой вопрос
Хочу что бы посоветовали несколько вариантов решения этой проблемы.
Всем спасибо заранее
Будьте активнее пожалуйста
Ответ:
Сообщение от Ильнарр
сервер какой то там использовать, типа sql server
ту же MySQL.

Сообщение от krapotkin
стандартная конфигурация - Linux+Apache+MySQL+PHP
для нее даже специальное слово придумали LAMP
Ильнарр, для Wind-ы есть (Apache + MariaDB + PHP + Perl). MariaDB - эта СУБД - "потомок" MySQL и устанавливается в составе пакета.
Вопрос: Синхронизация двух идентичных баз данных на Access

Есть клиент к базе данных на access, организовано все через adoquery. Нужно сделать возможность синхронизации БД в программе с внешним файликом mdb, указанным пользователем, с абсолютно такой же по структуре БД.

В голове вертится механизм - таблицу из одной базы перекинуть в другую и уже когда они будут находится в одной базе делать поисковые запросы в цикле по значениям одной записи первой таблицы по всем записям второй таблицы и если ничего не находится, то добавлять эту запись во вторую таблицу. И если эти сравнения хоть и звучат для меня страшновато, но кажутся вполне осуществимыми, то представить как бы перебросить таблицу из одной БД в другую у меня не получается.

Хотя, конечно, можно подконнектиться к обоим базам разными adoquery, создавать в обновляемой базе tempовую таблицу и просто в цикле перебросить все имеющиеся записи Insertом со значениями каждой из строк таблицы, из которой хотим скопировать значения.

Ну, вроде и алгоритм в голове есть, но прежде чем приступать к довольно трудоемкой, как мне кажется, работе, все же хочу попросить совета у других. Как лучше поступить в таком случае? Пробежался по учебнику sql вроде никаких стандартных функций на "объединение" записей двух таблиц не нашел. Если кто может подсказать подобные, буду очень благодарен.

Заранее, большое спасибо!

Добавлено через 6 часов 19 минут
нашел как копировать таблицы внутри одной базы
C++
1
2
3
4
ADOQuery1->Close();
ADOQuery1->SQL->Text = "SELECT * INTO students_temp from students";
ADOQuery1->ExecSQL();
ADOQuery1->Close();
как бы теперь к двум разным базам обратиться...
Ответ: SWDjon, если не смотреть на то, что теме почти 2 года, то хотелось бы спросить... Access хранит всю БД в одном файле: не проще ли просто скопировать весь файл в указанное пользователем место, чем такой огород городить?
Вопрос: Подключение базы данных





нужно реализовать такое подключение базы данных с помощью обзора и подключение базы данных с помощью переключателя кнопок как там
Ответ: да но примеров нету нормальных

Добавлено через 30 минут
Код C#
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
namespace lab11
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            listBox2.Items.Clear();
            string str = listBox1.SelectedItem.ToString();
            int n=dataSet1.Tables[str].Columns.Count;
            for (int i = 0; i < n; i++)
                listBox2.Items.Add(dataSet1.Tables[str].Columns[i].ColumnName);
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            openFileDialog1.ShowDialog();
            string path = openFileDialog1.FileName.ToString();
            OleDbConnection conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path);
            conn.Open();
            DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
            foreach (DataRow item in dt.Rows)
            {
                listBox1.Items.Add((string)item["TABLE_NAME"]);
            }
            conn.Close();
 
        }
    }
}

нашел но здесь вывод в listbox, а мне требуется выводить таблицы через datagrid и чтобы при отключении бд данных шаблон таблиц оставался пустой в дата гриде и реализовать подключение отключение описанное выше в скриншотах
Вопрос: Обнуление счетчика базы данных MS Access

Как можно обновить счетчик в базе данных MS Access вот к примеру удалил я одну строку и у меня записи идут не по порядку а вот так: 1,2,4,5,6,7,9,10
я пробовал в visual studio выполнить на C# запросе SQL такой код "ALTER TABLE Accounts DROP COLUMN ID counter;
ALTER TABLE Accounts ADD COLUMN ID counter;" но программку крашило
Ответ: dimazhelek, ты похоже не понимаешь смысл счётчика. Это уникальное поле(идентификатор), которое заполняется автоматически и НИКОГДА(!) не принимает одинаковые значения. Редактирование его извне не допускается. Именно это и гарантирует уникальность значений в этом поле. Нельзя менять значения идентификаторов только потому, что "а мне так некрасиво". Если тебе нужно поле "номер по порядку", то не делай его счётчиком, а следи за значениями в нём самостоятельно
Вопрос: проблема подключения базу данных

привет ребята

я записал скрипт из книш грег бучека
чтобы читат данные из базу данных скл сервер
с помошю drop down list

но дает меня ошибку vb .net

скрипти это

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="sqlvb.aspx.vb" Inherits="glava1_bucek_vb.sqlvb" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:DropDownList
    id="ddlCourses"
    runat="server"
    DataTextField="CourseName"
    DataValueField="CourseID">
    </asp:DropDownList>
    <asp:DropDownList 
     id="ddlRating"
     runat="server">
     <asp:ListItem Value="Otlicno">Otlicno</asp:ListItem>
     <asp:ListItem Value="Xoroso">Xoroso</asp:ListItem>
     <asp:ListItem Value="Ploxo">Ploxo</asp:ListItem>
     </asp:DropDownList>
         </div>
    </form>
</body>
</html>


и

Imports System.Data.Common
Imports System.Data.OleDb
Imports System.Data



Public Class sqlvb
    Inherits System.Web.UI.Page

    Private Property DbCommand As Object

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then
            Dim DBConn As OleDbConnection
            Dim DBConn As OleDbDataAdapter
            Dim DSPageData As New DataSet
            DBConn = New OleDbConnection("provider=sqloledb;" _
                                         & "Data Source=.;" _
                                         & "Initial Catalog=bucet;" _
                                         & "User ID=ferid;" _
                                         & "Password=araz;")
            DbCommand = New OleDbDataAdapter _
                ("select CourseID,CourseName from Courses" _
                                       , DBConn)
            DbCommand.Fill(DSPageData, _
                           "Courses")
            ddlCourses.DataSource = _
                DSPageData.Tables("Courses").DefaultView
            ddlCourses.DataBind()

        End If
    End Sub

End Class



дает меня ошибка

Error	1	Local variable 'DBConn' is already declared in the current block.	c:\users\az\documents\visual studio 2010\Projects\glava1 bucek vb\glava1 bucek vb\sqlvb.aspx.vb	glava1 bucek vb	17	15



я совсем ноый в vb.net
Ответ: yaxta,
            Dim DBConn As OleDbConnection
            Dim DbCommand As OleDbDataAdapter


А вот это удалить
Private Property DbCommand As Object