Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

.NET:XML दस्तावेज़ को SQL सर्वर में कैसे सम्मिलित करें?

आपको एक SqlParameter का उपयोग करना होगा। मैं इसे ऐसा करने की सलाह दूंगा:

command.Parameters.Add(
   new SqlParameter("@xml", SqlDbType.Xml) 
       {Value = new SqlXml(new XmlTextReader(xmlToSave.InnerXml
                       , XmlNodeType.Document, null)) })

और एसक्यूएल इस तरह दिखना चाहिए:

String sql = "INSERT INTO "+tableName+" ("+columnName+") VALUES (@xml)";

और चूंकि पहला बच्चा हमेशा xml नोड होता है, आप एन्कोडिंग को निम्न कथन से बदल सकते हैं।

xmlToSave.FirstChild.InnerText = "version=\"1.0\" encoding=\"UTF-16\"";

कुल मिलाकर यह ऐसा ही दिखेगा:

void SaveXmlToDatabase(DbConnection connection,
      XmlDocument xmlToSave,
      String tableName, String columnName);
{
   String sql = "INSERT INTO "+tableName+" ("+columnName+") VALUES (@xml)";

   using (DbCommand command = connection.CreateCommand())
   {
      xmlToSave.FirstChild.InnerText = "version=\"1.0\" encoding=\"UTF-16\"";             
      command.CommandText = sql;
      command.Parameters.Add(
        new SqlParameter("@xml", SqlDbType.Xml) 
           {Value = new SqlXml(new XmlTextReader(xmlToSave.InnerXml
                       , XmlNodeType.Document, null)) });


      DbTransaction trans = connection.BeginTransaction();
      try
      {
         command.ExecuteNonQuery();
         trans.Commit();
      }
      catch (Exception)
      {
         trans.Rollback();
         throw;
      }
   }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्रिस्टल रिपोर्ट डेटासोर्स रीमैप

  2. SUBSTRING () फ़ंक्शन का उपयोग करके SQL सर्वर में एक स्ट्रिंग से एक सबस्ट्रिंग कैसे लौटाएं?

  3. SQL क्वेरी द्वारा किसी विशेष डेटाबेस के सभी तालिका नाम प्राप्त करें?

  4. SQL सर्वर 2005 में डायनेमिक कॉलम के साथ क्रॉसस्टैब क्वेरी

  5. प्राथमिक कुंजी और संकुल सूचकांक का संबंध