Несколько значений Dropdownlist веб-формы не сохраняются в базе данных - PullRequest
0 голосов
/ 16 октября 2019

У меня есть две таблицы в базе данных MS Access

Table1 с полями (ID (первичный ключ), AutoNumber, Role Text)

Table2 споля (идентификатор (первичный ключ) AutoNumber, CompanyName Text, тип текста, Fmn Text)

Table3 с полями (ID (primarykey) AutoNumber, PersNo Text, PersName Text, текст компании, Fmn Text, Текст роли)

Я создал форму для таблицы 3, в которой все поля являются текстом, кроме Company, Fmn и Role, которые являются раскрывающимся списком, и эти раскрывающийся список заполняются из таблицы2 из полей CompanyName, Fmn и таблицы 1 Role.

Теперь, когда я отправляю форму, запрос (qryCreateNewUser) успешно выполняется и данные вводятся в базу данных для всех полей Таблицы 3, кроме значений двух выпадающих списков Company, Fmn

string qryCreateNewUser = "INSERT INTO tUser (PersNo, PersName, Company , Fmn, Role) VALUES ('" + tbxPersNo.Text.ToString() + "','" + ddlRank.Text.ToString() + "', '" + tbxPersName.Text.ToString() + "','" + ddlUnit.Text.ToString() + "','"+ddlFmn.Text.ToString()+"','"+ddlRole.Text.ToString()+"')";

Я пытался найти решения существующей проблемы подобного рода, но не смог ее решить.

Код HTML:

asp:DropDownList ID="ddlUnit" runat="server" DataTextField="UnitName" DataValueField="ID"

c # Код:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack) {

        BindDataSetUnitName();
        //BindDataSetFmn();
    }
}

protected void BindDataSetUnitName() {
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        OleDbCommand command = new OleDbCommand("SELECT * FROM tUnit", connection);
        connection.Open();
        ddlUnit.DataSource = command.ExecuteReader();
        ddlUnit.DataBind();
    }
}

1 Ответ

1 голос
/ 16 октября 2019

ExecuteReader возвращает считыватель соответствующего / указанного типа, а не DataSource. Попробуйте

...
OleDbDataReader reader = command.ExecuteReader();
ddlUnit.DataSource = reader;
ddlUnit.DataBind();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...