मैं बाहरी रूप से जुड़ता हूं और informix
डेटाबेस में सफलतापूर्वक निष्पादित होता हूं लेकिन मुझे अपने कोड में निम्नलिखित अपवाद मिलते हैं:
DataTable dt = TeachingLoadDAL.GetCoursesWithEvalState(i, bat);
बाधाओं को सक्षम करने में विफल। एक या अधिक पंक्तियों में गैर-अशक्त, अद्वितीय, या विदेशी-कुंजी बाधाओं का उल्लंघन करने वाले मूल्य होते हैं।
मुझे समस्या पता है, लेकिन मुझे नहीं पता कि इसे कैसे ठीक किया जाए।
दूसरी तालिका जो मैं बाहरी जुड़ता हूं उसमें एक संयुक्त प्राथमिक कुंजी होती है जो पिछले बाहरी जुड़ाव क्वेरी में शून्य होती हैं।
संपादित करें:
SELECT UNIQUE a.crs_e, a.crs_e || '/ ' || a.crst crs_name, b.period,
b.crscls, c.crsday, c.from_lect, c.to_lect,
c.to_lect - c.from_lect + 1 Subtraction, c.lect_kind, e.eval, e.batch_no,
e.crsnum, e.lect_code, e.prof_course
FROM rlm1course a, rfc14crsgrp b, ckj1table c, mnltablelectev d,
OUTER(cc1assiscrseval e)
WHERE a.crsnum = b.crsnum
AND b.crsnum = c.crsnum
AND b.crscls = c.crscls
AND b.batch_no = c.batch_no
AND c.serial_key = d.serial_key
AND c.crsnum = e.crsnum
AND c.batch_no = e.batch_no
AND d.lect_code= e.lect_code
AND d.lect_code = ....
AND b.batch_no = ....
समस्या तालिका के साथ होती है cc1assiscrseval
। प्राथमिक कुंजी है (बैच_नो, क्रॉसम, लेक्चर_कोड)।
इस समस्या से कैसे निपटा जाए?
संपादित करें:
@PaulStock
सलाह के अनुसार : मैं वही करता हूँ जो उसने कहा था, और मुझे मिलता है:
? dt.GetErrors () [0] {System.Data.DataRow} HasErrors: true ItemArray: {object [10]} RowError: "Column 'eval''BNull.Value 'की अनुमति नहीं देता है।"
तो मैं बदल कर मेरी समस्या का समाधान e.eval
करने के लिए, NVL (e.eval,'') eval
मेरी समस्या .और इस हल करता है। बहुत बहुत धन्यवाद।
,e.eval,e.batch_no,e.crsnum,e.lect_code,e.prof_course
क्वेरी से हटाता हूं तो हर चीज ठीक हो जाती है। कृपया समस्या क्या है