سؤال

في عرض "datagrid" لجدول بيانات مفتوح، كيف يمكنني كتابة حرف سطر جديد في حقل nvarchar مباشرة في SSMS؟

هل يوجد كود بديل؟

هل كانت مفيدة؟

المحلول

وأنت لا تستطيع ذلك.

استخدم نافذة "الاستعلام الجديد" بدلا من ذلك، والقيام التحديث اليدوي:

UPDATE mytable
SET textvalue = 
'This text
can include
line breaks'
WHERE rowid = 1234

نصائح أخرى

ويمكنك لصق الخطوط في من محرر النص الذي يستخدم خط النهايات على غرار UNIX (CR + LF). يمكنني استخدام المفكرة ++. أولا الذهاب إلى إعدادات / تفضيلات / مستند جديد وتغيير شكل ويندوز ليونكس من. ثم فتح مستند جديد، اكتب في الخطوط الخاصة بك، ونسخها إلى SSMS.

إما char(13) أو char(10) ستعمل.لكن يوصى باستخدام char(13) + char(10)

  • شار(10) = - سطر جديد
  • char(13) = - انتقل إلى بداية السطر

ويمكنك تحضير النص في المفكرة، ولصقه في SSMS. سوف SSMS يتم عرض أسطر جديدة، ولكن وجودهم هناك، كما يمكنك التحقق مع مختارة:

select *
from YourTable
where Col1 like '%' + char(10) + '%'

لقد واجهت مشكلة في البداية (لا أعرف السبب) ولكن أخيرًا حصلت على ما يلي للعمل مع SSMS لـ SQL Server 2008.

أدخل ALT-13 ثم ALT-10 حيثما تريد في النص الخاص بك في عمود من نوع varchar (يظهر رمز الموسيقى والمربع ويتم حفظهما عند مغادرة الصف).في البداية سوف تحصل على تحذير (!) على يسار الصف بعد تركه.ما عليك سوى إعادة تنفيذ عبارة SELECT الخاصة بك.سوف تختفي الرموز والتحذيرات ولكن يتم حفظ CR/LF.أنت يجب قم بتضمين ALT-13 إذا كنت تريد عرض النص بشكل صحيح بتنسيق HTML.لتحديد ما إذا كان هذا الأمر ناجحًا بسرعة، انسخ النص المحفوظ من SSMS إلى "المفكرة".

وبدلاً من ذلك، إذا لم تتمكن من تشغيل هذا، يمكنك القيام بنفس الشيء بدءًا من عمود nvarchar.ومع ذلك، سيتم حفظ الرموز كنص حتى تتمكن من ذلك يجب قم بتحويل العمود إلى varchar عند الانتهاء من تحويل الرموز إلى CR/LFs.

إذا كنت تريد نسخ ولصق نص من مصدر آخر (صف أو جدول آخر، HTML، المفكرة، وما إلى ذلك) وعدم اقتطاع النص الخاص بك في السجل التجاري الأول، فقد وجدت أن الحل (مفكرة المبرمج) المشار إليه على الرابط التالي يعمل مع SSMS لـ SQL Server 2008 باستخدام أنواع الأعمدة varchar وnvarchar.

http://dbaspot.com/sqlserver-programming/409451-how-i-enter-linefeed-when-modifying-text-field-2.html#post1523145

يذكر مؤلف المنشور (dbaspot) شيئًا ما حول إنشاء استعلامات SQL - لست متأكدًا مما يعنيه.ما عليك سوى اتباع الإرشادات الخاصة بمفكرة المبرمج ويمكنك نسخ ولصق النص من وإلى SSMS والاحتفاظ بـ LFs في كلا الاتجاهين (باستخدام مفكرة المبرمج، وليس المفكرة).لكي يتم عرض النص بشكل صحيح في HTML لك يجب إضافة CRs إلى النص المنسوخ إلى SSMS.أفضل طريقة للقيام بذلك هي تنفيذ عبارة UPDATE باستخدام الدالة REPLACE لإضافة السجلات الجاهزة كما يلي:

UPDATE table_name
SET column_name = REPLACE(column_name , CHAR(10), CHAR(13) + CHAR(10)).

وأنا استخدم INSERT 'ا' + شار (10) + 'ب' INTO أينما WHERE مهما

وروني،

والشبكة تظهر البيانات أن يبلع أي محاولات للصق حرف سطر جديد، بما في ذلك استخدام ALT + 010. مايكروسوفت لا تسرد أي مفاتيح الاختصار التي من شأنها أن تساعد. المشتبه بهم المعتادين

<ctrl>enter, 
<alt> enter, 
<ctrl><alt> enter, 
<shift> enter, etc

ولا تعمل، كما أشرتم.

لسجل، إذا كنت تفعل وتطوير الشبكة، وlinefeeds لن تظهر في المتصفح على أي حال (تفسر على أنها بيضاء إضافية، ويتم تجاهل). اضطررت لاستبدال خط تغذية مع

<br> 

وفي كل مكان كنت أرغب في كسر خط لتظهر في متصفح (المناطق النص سيقبل خط يغذي الإدخال كما صالحة للاستعمال).

وحتى لو كنت قد إدراج فاصل أسطر، وأنا لا أعتقد أن وجهة نظر شبكة البيانات في SSMS قادر على عرضه.

وحاول استخدام MS Access بدلا. إنشاء ملف جديد وحدد 'المشروع باستخدام البيانات الموجودة "القالب. هذا سيخلق .adp ملف.

وبعد ذلك ببساطة فتح الجدول الخاص بك واضغط على السيطرة + أدخل لسطر جديد.

ولصق من الحافظة كما يعمل بشكل صحيح.

وهذا <م> هو ممكن إذا كان لديك حرف السطر الموجودة في الصف أو صف آخر.

وحدد مربع المربع الذي يمثل حرف السطر موجود بنسخه (مراقبة-C)، ثم لصقه (مراقبة-V) حيث تريد لها أن تكون.

وهذا هو جبني قليلا، لكني في الواقع لم الحصول على عمل في SSMS 2008 و لم أكن قادرا على الحصول على أي من الاقتراحات الأخرى (مراقبة إدخال، بديل-13، أو أي بديل - ##) للعمل.

وهذا يعمل بالنسبة لي (عرض النتائج كنص - نتائج شبكة يخفي أسطر جديدة)

select '

a 

b

' 

وأنت تتحدث عن النقر بزر الماوس الأيمن على طاولة واختيار "تحرير الأعلى 50 الصفوف"، أليس كذلك؟

وحاولت [CTL] [أدخل] و [البديل] [أدخل]، ولكن أيا من تلك الأعمال.

وحتى عندما أقوم بإدخال البيانات مع CR / LF (باستخدام عبارة INSERT قياسي)، لكنه يظهر هنا في خط واحد مع مستطيل يمثل رموز التحكم.

إذا كنت تحاول إدخال البيانات مباشرة في الجدول في عرض الشبكة (ويفترض إضغط بالزر الأيمن TABLENAME وتحديد جدول فتح)، ثم يمكنك إدخال سلسلة نصية يونيكود وأينما كنت ترغب في إرجاع اكتب فقط 13 مع مفتاح بديل ضغط في لوحة المفاتيح الرقمية.

وهذا من شأنه أن يكون البديل + 13. هذا يعمل فقط من لوحة المفاتيح الرقمية ولا يعمل مع مفاتيح الأرقام على الجزء العلوي من لوحة المفاتيح. سيتم تخزين إرجاع كما مربع

وأجد طريقة سهلة للقيام بذلك للحصول على التحديثات غير قابلة للتكرار هو استخدام MS Access وإنشاء جدول مرتبط، ثم تحديث البيانات ما تحتاج إليه. اعتقد ان فريق MS Access لا التحدث الى فريق SMSS:)

وحاولت دخول حرف سطر جديد باستخدام ورقة اكسل. دخلت البيانات الخاصة بي من خلال كتابة "اي بي سي" أدناه خلية فارغة في Excel ثم تحديث بلدي ديسيبل باستخدام خلية فارغة أعلى الخلية التي تحتوي على "اي بي سي" والخلية مع البيانات. I نسخ لصق كل من الخلايا في بلدي SSMS. لأنها عملت لي

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top