Member 13356973 Ответов: 1

Как заполнить checkedlistbox значениями, сохраненными в SQL


Мне нужно заполнить один флажок некоторыми значениями, которые я сохранил в базе данных SQL.

var numfatura = _transaction.TransDocument + _transaction.TransSerial + _transaction.TransDocNumber;


Переменная мне нужна именно эта и я сохранил ее внутри SQL вот так:

using (SqlConnection conn = new SqlConnection(@"Data source = 2c4138928627\Sage ; Database=ARMINDOData ; User Id=sa ; Password=sage2008+"))
{
 SqlCommand command = new SqlCommand("IF OBJECT_ID('UXFaturas', 'U') IS NULL CREATE TABLE UXFaturas(NumFaturas char(250), Cont1 char(250), Cont2 char(250));", conn);
 conn.Open();
 SqlCommand insertCommand = new SqlCommand("INSERT INTO UXFaturas(NumFaturas, Cont1, Cont2) VALUES (numfatura, cont, cont2)", conn);
    command.ExecuteNonQuery();
    command.Connection = conn;
    command.CommandType = System.Data.CommandType.StoredProcedure;
    //command.CommandText = "USP_InsertFile";
    command.Parameters.AddWithValue("@numfaturas", numfatura);
    command.Parameters.AddWithValue("@cont1", cont);
    command.Parameters.AddWithValue("@cont2", cont2);

  //command.ExecuteNonQuery();
 }
}


Что я уже пробовал:

Я пытался найти что-то в интернете, но не нашел ничего, что было бы моей проблемой, и я понятия не имею, с чего мне начать. У меня было это еще в тот день, но я изменил свой проект, так что это больше не работает, но может помочь:
string path = @"C:\Users\HP8200\Desktop\";
 var files = System.IO.Directory.GetFiles(path, "*.txt");
 foreach (var item in files)
 {
 string fileNameOnly = "";
 fileNameOnly = Path.GetFileNameWithoutExtension(item);
 checkedListBox1.Items.Add(fileNameOnly); 
}


Я использую c#.

Prifti Constantine

База данных - это txt-файл, который Вы читаете с помощью метода GetFiles ()?

Member 13356973

Метод GetFiles () - это то, что я использовал при создании текстового файла, теперь я не создаю никакого текстового файла, я просто сохраняю его в sql server.

Prifti Constantine

Допустим, что данные уже находятся на sql-сервере.... Команда, которую вы здесь используете, - это команда Insert... Для того чтобы заполнить флажки, вам нужно извлечь данные из базы данных, а не вставлять их, что в данном случае является простым оператором Select. Является ли это подходящим (для вас) кодом, который вы хотите предоставить? Может быть, вы что-то забыли?

Member 13356973

Вставка, которую вы видите в вопросе, заключается в вставке данных в базу данных sql. Я думаю, что ничего не забыл, но если вам нужно что-то еще, я могу вам это предоставить.

Locura The Exile

Как уже упоминалось @Prifti, предоставленный вами код предназначен для вставки, можете ли вы также предоставить код, с помощью которого вы в данный момент извлекаете данные и какие ошибки/проблемы вы получаете от него?

Member 13356973

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

ZurdoDev

Просто погуглите, Как выбрать данные из sql с помощью c#. Очень просто.

Member 13356973

Любая помощь будет оценена по достоинству

1 Ответов

Рейтинг:
9

Sheila Pontes

Привет,

Пример, который поможет вам.

private DataTable SelectData()
{ 
            DataTable dt = null;
            using (SqlConnection conn = new SqlConnection(@"Data source = 2c4138928627\Sage ; Database=ARMINDOData ; User Id=sa ; Password=sage2008+"))
            {
                SqlCommand command = new SqlCommand("SELECT myfieldtext, myfieldvalue FROM mytable", conn);
                conn.Open();
                SqlDataAdapter da = new SqlDataAdapter(command);
                da.Fill(dt);
            }

            return dt;
}

private void FillListBoxCheck()
{
            DataTable dt = this.SelectData();

            this.CheckBoxList1.DataTextField = "myfieldtext";
            this.CheckBoxList1.DataValueField = "myfieldvalue";
            this.CheckBoxList1.DataSource = dt;
            this.CheckBoxList1.DataBind();
 
}