คำถามติดแท็ก ado.net

ADO.Net มักใช้โดยโปรแกรมเมอร์เพื่อเข้าถึงและแก้ไขข้อมูลที่จัดเก็บในระบบฐานข้อมูลเชิงสัมพันธ์แม้ว่าจะสามารถเข้าถึงข้อมูลในแหล่งที่มาที่ไม่ใช่เชิงสัมพันธ์ได้ เป็นส่วนหนึ่งของไลบรารีคลาสพื้นฐานที่มาพร้อมกับ Microsoft .NET Framework

4
ข้อยกเว้นเมื่อพารามิเตอร์ AddWithValue เป็น NULL
ฉันมีรหัสต่อไปนี้สำหรับระบุพารามิเตอร์สำหรับแบบสอบถาม SQL ฉันได้รับข้อยกเว้นดังต่อไปนี้เมื่อฉันใช้Code 1; Code 2แต่ทำงานได้ดีเมื่อฉันใช้ ในCode 2เรามีการตรวจสอบค่าว่างและด้วยเหตุนี้if..elseบล็อก ข้อยกเว้น: แบบสอบถามที่กำหนดพารามิเตอร์ '(@application_ex_id nvarchar (4000)) SELECT E.application_ex_id A' คาดว่าพารามิเตอร์ '@application_ex_id' ซึ่งไม่ได้ให้มา รหัส 1 : command.Parameters.AddWithValue("@application_ex_id", logSearch.LogID); รหัส 2 : if (logSearch.LogID != null) { command.Parameters.AddWithValue("@application_ex_id", logSearch.LogID); } else { command.Parameters.AddWithValue("@application_ex_id", DBNull.Value ); } คำถาม คุณช่วยอธิบายได้ไหมว่าทำไมจึงไม่สามารถใช้ค่า NULL จากค่า logSearch.LogID ใน Code 1 (แต่สามารถรับ …
92 c#  .net  ado.net 

7
วิธีรับชื่อฐานข้อมูลจาก Connection String โดยใช้ SqlConnectionStringBuilder
ฉันไม่ต้องการแยกสตริงการเชื่อมต่อโดยใช้การจัดการสตริงและรับเซิร์ฟเวอร์ฐานข้อมูล uid และรหัสผ่าน ฉันอ่านลิงค์ต่อไปนี้และอ่านคำตอบที่ยอมรับฉันพบว่าเป็นวิธีที่ดีที่สุดในการดึงรหัสผู้ใช้และรหัสผ่านออกจากสตริงการเชื่อมต่อ แต่ชื่อฐานข้อมูลล่ะ วิธีที่ถูกต้องในการรับชื่อผู้ใช้และรหัสผ่านจากสตริงการเชื่อมต่อ? วิธีรับชื่อฐานข้อมูลจาก Connection String โดยใช้ SqlConnectionStringBuilder (DataSource เป็นชื่อเซิร์ฟเวอร์หรือไม่)
92 c#  asp.net  sql  ado.net 

4
จำเป็นต้องปิดและกำจัด SqlDataReader ด้วยตนเองหรือไม่?
ฉันกำลังทำงานกับรหัสเดิมที่นี่และมีหลายกรณีSqlDataReaderที่ไม่เคยปิดหรือกำจัดทิ้ง การเชื่อมต่อถูกปิด แต่ฉันไม่แน่ใจว่าจำเป็นต้องจัดการเครื่องอ่านด้วยตนเองหรือไม่ สิ่งนี้อาจทำให้ประสิทธิภาพการทำงานช้าลงหรือไม่
90 c#  sql  .net  ado.net 


10
SqlParameter มีอยู่แล้วโดย SqlParameterCollection อื่น - ใช้ () {} โกงหรือไม่
ในขณะที่ใช้using() {}บล็อก (sic) ดังที่แสดงด้านล่างและสมมติว่าcmd1ไม่อยู่เกินขอบเขตของusing() {}บล็อกแรกเหตุใดบล็อกที่สองจึงมีข้อยกเว้นด้วยข้อความ SqlParameter มีอยู่แล้วโดย SqlParameterCollection อื่น หมายความว่าทรัพยากรและ / หรือจัดการ - รวมถึงพารามิเตอร์ ( SqlParameterCollection) - ที่แนบมาcmd1จะไม่ถูกปล่อยออกมาเมื่อถูกทำลายที่ส่วนท้ายของบล็อกหรือไม่? using (var conn = new SqlConnection("Data Source=.;Initial Catalog=Test;Integrated Security=True")) { var parameters = new SqlParameter[] { new SqlParameter("@ProductId", SqlDbType.Int ) }; using(var cmd1 = new SqlCommand("SELECT ProductName FROM Products WHERE ProductId = …
87 c#  .net  sql-server  ado.net 

3
MultipleActiveResultSets = การเชื่อมต่อจริงหรือหลาย ๆ
ฉันมี C # บางตัวที่ฉันสร้างตัวอ่านบนการเชื่อมต่อ ( ExecuteReader) จากนั้นสำหรับทุกแถวในโปรแกรมอ่านนั้นให้ดำเนินการคำสั่งอื่น (ด้วยExecuteNonQuery) ในกรณีนี้จะดีกว่าไหมหากฉันใช้MultipleActiveResultSets=Trueการเชื่อมต่อหรือใช้การเชื่อมต่อหลายรายการ

2
ตารางที่ผู้ใช้กำหนดใน Entity Framework สร้างแบบสอบถามที่ไม่ถูกต้อง
ฉันคิดว่าฉันกำลังประสบปัญหาใน Entity Framework 6 และอาจเป็น ADO.NET เนื่องจากมีกำหนดส่งฉันไม่แน่ใจว่าฉันสามารถรอให้ข้อผิดพลาดนี้ได้รับการแก้ไขและหวังว่าจะมีคนช่วยฉันทำความสะอาดรอบ ๆ ตัว ปัญหาคือแบบสอบถามใช้ค่า 1 และ 5 ในตำแหน่งที่ควรเป็น 0.01 และ 0.05 อย่างไรก็ตามดูเหมือนว่าจะมีการใช้งาน 0.1 ที่แปลก แบบสอบถามที่สร้างขึ้นในปัจจุบันคือ: (รับจาก SQL Server Profiler) declare @p3 dbo.someUDT insert into @p3 values(NULL,5) insert into @p3 values(5,0.10) insert into @p3 values(NULL,1) insert into @p3 values(1,2) exec sp_executesql N'Select * from @AName',N'@AName …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.