Есть две таблицы "Студенты" и "Оценки". В таблице "Студенты" есть PK "ID". В таблице "Оценки" нет ключа. при попытке создать Relation между "ID" и "StudentID" выкидывает Exeption.
| Код | using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data;
namespace dsStudents { class Program { static void Main(string[] args) { DataSet studentList = new DataSet(); DataTable sInfo = new DataTable("Students"); DataTable sGrade = new DataTable("Student Grade");
DataColumn dc = new DataColumn(); dc.ColumnName = "ID"; dc.DataType = typeof(System.String); sInfo.Columns.Add(dc);
dc = new DataColumn(); dc.ColumnName = "FName"; dc.DataType = typeof(System.String); sInfo.Columns.Add(dc);
dc = new DataColumn(); dc.ColumnName = "LName"; dc.DataType = typeof(System.String); sInfo.Columns.Add(dc);
dc = new DataColumn(); dc.ColumnName = "StudentID"; dc.DataType = typeof(System.String); sGrade.Columns.Add(dc);
dc = new DataColumn(); dc.ColumnName = "Prof"; dc.DataType = typeof(System.String); sGrade.Columns.Add(dc);
dc = new DataColumn(); dc.ColumnName = "Grade"; dc.DataType = typeof(System.Int32); sGrade.Columns.Add(dc);
DataRow studInfoRow = sInfo.NewRow(); studInfoRow["ID"] = "313882557"; studInfoRow["FName"] = "Maxim"; studInfoRow["LName"] = "Folko"; sInfo.Rows.Add(studInfoRow);
DataRow studGrade = sGrade.NewRow(); studGrade["StudentID"] = "313882557"; studGrade["Prof"] = "Math"; studGrade["Grade"] = 70; sGrade.Rows.Add(studGrade);
DataColumn[] pk = new DataColumn[1]; pk[0] = sInfo.Columns["ID"]; sInfo.PrimaryKey = pk;
studentList.Relations.Add("StudGrade", studentList.Tables["Students"].Columns["ID"], studentList.Tables["Student Grade"].Columns["StudentID"]); //здесь выдает ошибку
foreach (DataRelation rel in studentList.Relations) { Console.WriteLine("Relation Name : (0)", rel.RelationName.ToString()); Console.WriteLine("Parent TaleName : (0)", rel.ParentTable.TableName.ToString()); Console.WriteLine("Child TableName : (0)", rel.ChildTable.TableName.ToString()); } } } }
|
Exeption здесь не выкладиваю, так как Windows на иврите и Exeption тоже соответственно на иврите. Помогите пожалуйста... в нете искал, вроде у меня все правильно написанно.... Заранее спасибо... |