ไวยากรณ์สำหรับหรือแสดงในภาพพื้นฐาน

0

คำถาม

ฉันไม่รู้ว่าภาพพื้นฐานมากเท่าที่ฉันรู้จัก C++หรือ C#.

ฉันจะไปตรวจสอบว่าเป็นเลือกการมีผลกลับมา'testDataset`และมีบางอย่างผลดังนั้นฉันเขียนด้านล่างรูปแบบการสั่งงาน:

If ((testDataset Is Nothing) Or (testDataset.Tables Is Nothing) Or testDataset.Tables.Count = 0 _
    Or (testDataset.Tables.Item(0).Rows Is Nothing) Or (testDataset.Tables.Item(0).Rows.Count = 0) _
    Or (testDataset.Tables.Item(0).Rows(0) Is Nothing)) Then
    MessageBox.Show("Dataset has no results!", "Database Query Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
    Return False
End If

ใน C++ตอนการแสดงออกไปข้างในเหตุผลหรือจะกลายเป็นจริงต่อไปแสดงอจะไม่เป็นในขั้นตอนตรวจสอบ แต่มันดูเหมือนว่านี่ไม่ใช่คดีนี้อยู่ในภาพพื้นฐาน. ดังนั้นฉันต้องการที่จะรู้ได้ยังไงฉันไปเช็คมาหลายแสดงอยู่ในรายพื้นฐานและหยุดการประมวลผลต่อคนถ้าใครคนใดคนหนึ่งมาหาเรื่องจริง

ดังนั้นฉันขอถามคำถามคือส่วนใหญ่ก็ได้ถูกถามมือสองคำถาม:

  1. จะให้ฉันเช็คมาหลายอาการหลอกใช้หรือโดยไม่มีการประมวลผลต่อคน?

  2. จะให้ฉันตรวจสอบว่าวันที่มีผล(อย่างน้อยหนึ่งแถวและเป็นเจาะจงคอลัมน์เป็นของขวัญอยู่ในนั้น(อย่างน้อยหนึ่ง)แถว?

dataset logical-or vb.net
2021-11-23 11:33:48
3

คำตอบที่ดีที่สุด

2

คุณสามารถใช้ โพรโทคอล aimcomment เงื่อนไขเซลโอเปอเรเตอร์ ต้องสั้นวงจรพวกนั้นเข้ามาเช็คอินเดีย คน ? หลังจากที่สมาชิกในห่วงโซ่หยุดการประเมินต่อมาสมาชิกและกลับโพรโทคอล aimcomment ถ้าสมาชิกเป็นโพรโทคอล aimcomment.

Return testDataset?.Tables?.Item(0)?.Rows?.Any() ' true if any, false if none
2021-11-23 15:30:43

นี่คือที่น่าสนใจความคิดที่จะเช็คมาหลาย(+1). คำถามคือทำไมถึงวันที่การเป็นโพรโทคอล aimcomment หรือตารางข้อมูลเรียบร้อยแล้ว(0)จะได้เป็นโพรโทคอล aimcomment เป็นต้น ฉันค่อนข้างแน่ใจว่ามันแค่ try-catch บล็อกคือพอแล้ว
Maciej Los

@MaciejLos ฉันมีเรียนรู้ที่จะใช้ยกเว้นการจัดการ sparingly เหมือนกันเพื่อให้แน่ใจว่านั่นของคุณโปรแกรจะไม่ช(จับ-ทั้งหมด)หรือเพื่อเป็นข้อยกเว้นอย่างเช่น UnauthorizedAccessException เป็นต้น, และเมื่อไรก็ตามที่สุดเท่าที่ทำได้เพื่ incorporate มันเข้าไปในตรรกะของคุณโปรแกรม เป็นข้อยกเว้นคือข้อยกเว้และไม่ควรจะพิจารณาเรื่องปกติ แน่นอนวิธีการของคุณจะทำงานแต่ฉันเพิ่งเห็นปฏิบัติการเป็นตรรกะที่บางอย่างซึ่งอาจเป็นประยุกต์@item text character set กับใครบางแห่งเหล่าอัศวินราชินีและอสรรูปแบบการสั่งงาน. ขอบคุณสำหรับ+1
djv

@MaciejLos ใช่ไหม? ดังนั้นทำให้โพรโทคอล aimcomment เช็คอยู่ในตรรกะมันชัดเจนว่าเกิดอะไรขึ้นที่นี่,ในขณะที่เป็น Try...Catch ก็แทนและ obfuscates ระบบการใช้เหตุผล นี่คือมากกว่าที่ดีที่สุดที่ฝึกฝนและอาจจะเล็กน้อยเกินไปสำหรับปรัชญาที่ปฏิบัติการ:)
djv

ฉันพยายามจะบอกว่าฉันจะไม่เคยเขียนรหัสที่จะได้ค่าผลลัพธ์ที่ไม่รู้จัก. ตอนฟังก์ชันเขียนโดยฉันจะได้ค่าโพรโทคอล aimcomment(ไม่มีอะไรฉันทำมันมีความตั้งใจที่จะ...ผมไม่สามารถเห็นด้วยกับ"ก็ไม่ใช่เหตุผลซึ่งกันและกันตรรกะ";)
Maciej Los
1

นี่คือการฆ่าเกินความจำเป็นบกำลังตรวจสอบ Nothing. คุณสันนิษฐานได้เลยว่าเค้าต้องสร้าง DataSet และเติมเต็มมันด้วย DataTable. โต๊ะอาจจะไม่มีแถวกลับมาแต่ไม่ใช่ทั้งคน DataSet หรือที่ DataTable คือไม่มีอะไรเลย

ถ้าคุณยังเดียวที่ใช้นัดเดียวกันบนโต๊ะล่ะก็ dispense กับวันที่.

Private dt As New DataTable

Private Sub GetData()
    Using cn As New SqlConnection(ConLocal),
            cmd As New SqlCommand("Select Top 10 * From Coffees", cn)
        cn.Open()
        Using reader = cmd.ExecuteReader
            dt.Load(reader)
        End Using
    End Using
End Sub

Private Function CheckTable() As Boolean
    If dt.Rows.Count > 0 Then
        Return True
    End If
    MessageBox.Show("Dataset has no results!", "Database Query Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
    Return False
End Function
2021-11-23 12:32:53

ตั้งแต่อาจจะมีหลายคาดไม่ถึงเวลา(เช่นโต๊ะซึ่งมันคอลัมน์อาจจะไม่ได้คาดหวัง,...)ดังนั้นฉันไม่แน่ใจว่านั่น e.g. คอลัมน์ x เป็นของขวัญอยู่ในโต๊ะดังนั้นมันอาจจะเป็นสถานการณ์นั้นทั้งหมดนี้เป็นเช็คจำเป็นต้อง(ฉันคิดว่า!)
VSB

@VSB ตอนที่เธอมาหาฉันมั่นใจว่าเธอพูดถูกแต่ว่าเรามีแผน เข้ารหัสงชุดรูปแบบตัดสินใจโดยที่ผลลัพธ์ที่ได้ตั้งไว้ดังนั้นจึงไม่มีปัญหากับการเพิ่มหรือหายๆคอลัมน์ ฉันเข้าใจ DBA นสามารถทำให้แตกเปลี่ยนแปลงบางครั้ง
Mary
1

นี่-อาจจะ-นี่ไม่ใช่ข้อมือนคำตอบแต่ท่านนายพลคำแนะนำ...

ที่ห่าหว่างทางจะไปจับข้อผิดพลาดขณะกำลังอ่านข้อมูลจากวันที่จะได้เป็นรหัสเข้าไป ลอง...จับ..ในที่สุด แบบเดียวกันหมด

Dim bRetVal As Boolean = True
Try
   'your code to read data
Catch ex As Exception
    MessageBox.Show("Something went wrong..." & vbCrLf  & vbCrLf & ex.Message, "Error while reading data", MessageBoxButtons.OK, MessageBoxIcon.Error)
    bRetVal = False
Finally
  Return bRetVal
2021-11-23 19:07:07

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่