Member 12927094 Ответов: 1

Как получить данные столбца XML, которые находятся в базе данных SQL server в форме windows


у меня есть хранимая процедура, которая имеет 5 полей id,имя,адрес, номер и детали.
details - это XML-столбец, и мне нужно сохранить и получить данные этого xml-столбца в форме окна в формате xml.Я закончил с сохранением данных в базе данных, и меня остановили в получении этих данных в формате xml.

Как я могу получить его в виде окна ?.
любое предложение, пожалуйста..
спасибо.

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

ALTER PROCEDURE [dbo].[pe_insert]
(
@id int,
@name nvarchar(50),
@addres nvarchar(50),
@number nvarchar(50)
--@details xml
)

  AS
BEGIN
If @id=0
BEGIN
insert into people(name,addres,number,details) values(@name,  @addres,  @number , '<root><name>'+@name+'<address>'+@addres+'</address>
                                                      <number>'+@number+'')
END

else 
BEGIN
 UPDATE people SET
     name =  @name, addres = @addres, number =@number, details = '<root><name>'+@name+'<address>'+@addres+'</address>
	                                                              <number>'+@number+''  where id=@id
END
END



GO

А это мой код оконной формы ...
public Form1()
        {
            InitializeComponent();
        }
            

        private void Save_Click(object sender, EventArgs e)
        {
            SqlConnection con = new SqlConnection(@"Data Source=IBM163-PC0DE460;Initial Catalog=people data;Integrated Security=True");
            con.Open();
            SqlCommand cmd = con.CreateCommand();
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "pe_insert";
           
            cmd.Parameters.AddWithValue("@id", textBox1.Text);
            cmd.Parameters.AddWithValue("@name", textBox2.Text);
            cmd.Parameters.AddWithValue("@addres", textBox3.Text);
            cmd.Parameters.AddWithValue("@number", textBox4.Text);
            con.Open();
            cmd.ExecuteNonQuery();
            
            con.Close();
            MessageBox.Show("succesfully saved");
           

        }

CHill60

В чем ваша настоящая проблема?

Member 12927094

я хочу получить данные столбца XML в форме windows...
спасибо

CHill60

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

Member 12927094

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

CHill60

Ваш вопрос подразумевал, что вы не можете получить только столбец XML. Теперь вы, кажется, просите нас написать весь код для вас, чтобы получить информацию из базы данных - это не то, как работает этот форум

Member 12927094

спасибо за ответ..и
я не просил писать код для меня.
просто мне нужны предложения по моему вопросу..

[no name]

Это не проблема. Напишите запрос SELECT, чтобы получить нужные вам данные.

1 Ответов

Рейтинг:
4

CHill60

Судя по Вашим комментариям выше, вы, похоже, хотите, чтобы мы написали для вас код для извлечения любых данных из вашей таблицы. К сожалению, мы не занимаемся написанием кода для вас.

Вот ссылка на документацию MSDN, которая объясняет, как сделать то, что вы хотите сделать: Как выполнить хранимую процедуру, возвращающую строки[^]

Прочтите статью, попробуйте и обязательно вернитесь с конкретным вопросом, если вы застряли


Member 12927094

спасибо...думаю, это мне поможет.

CHill60

Это довольно хорошая статья. Не забывайте - если вы застряли, то вернитесь и задайте другой вопрос. Хотя, возможно, было бы лучше поднять новый вопрос, если вы это сделаете. Желаю удачи.

Member 12927094

ага..