Hello:

The patch file :P




Best regards
Carlos Guzm�n �lvarez
Vigo-Spain
Index: SqlCommandBuilder.cs
===================================================================
RCS file: /mono/mcs/class/System.Data/System.Data.SqlClient/SqlCommandBuilder.cs,v
retrieving revision 1.7
diff -u -r1.7 SqlCommandBuilder.cs
--- SqlCommandBuilder.cs        13 Nov 2002 17:32:22 -0000      1.7
+++ SqlCommandBuilder.cs        10 Dec 2002 09:34:06 -0000
@@ -174,7 +174,21 @@
                                if (!isKey) {
                                        parameter = deleteCommand.Parameters.Add 
(CreateParameter (parmIndex++, schemaRow));
 
-                                       dsColumnName = tableMapping.ColumnMappings 
[parameter.SourceColumn].DataSetColumn;
+                                       if(tableMapping != null)

+                                       {

+                                               if(tableMapping.ColumnMappings.Count > 
+0)

+                                               {

+                                                       dsColumnName = 
+tableMapping.ColumnMappings[parameter.SourceColumn].DataSetColumn;
+                                               }
+                                               else
+                                               {
+                                                       dsColumnName = 
+parameter.SourceColumn;
+                                               }
+                                       }

+                                       else

+                                       {

+                                               dsColumnName = parameter.SourceColumn;

+                                       }

                                        if (row != null)
                                                parameter.Value = row [dsColumnName, 
DataRowVersion.Current];
                                        where.Append ("(");
@@ -186,7 +200,21 @@
                                        
                                parameter = deleteCommand.Parameters.Add 
(CreateParameter (parmIndex++, schemaRow));
 
-                               dsColumnName = tableMapping.ColumnMappings 
[parameter.SourceColumn].DataSetColumn;
+                               if(tableMapping != null)

+                               {

+                                       if(tableMapping.ColumnMappings.Count > 0)

+                                       {

+                                               dsColumnName = 
+tableMapping.ColumnMappings[parameter.SourceColumn].DataSetColumn;
+                                       }
+                                       else
+                                       {
+                                               dsColumnName = parameter.SourceColumn;
+                                       }
+                               }

+                               else

+                               {

+                                       dsColumnName = parameter.SourceColumn;

+                               }

                                if (row != null)
                                        parameter.Value = row [dsColumnName, 
DataRowVersion.Current];
 
@@ -229,7 +257,21 @@
 
                                SqlParameter parameter = insertCommand.Parameters.Add 
(CreateParameter (parmIndex++, schemaRow));
 
-                               dsColumnName = tableMapping.ColumnMappings 
[parameter.SourceColumn].DataSetColumn;
+                               if(tableMapping != null)

+                               {

+                                       if(tableMapping.ColumnMappings.Count > 0)

+                                       {

+                                               dsColumnName = 
+tableMapping.ColumnMappings[parameter.SourceColumn].DataSetColumn;
+                                       }
+                                       else
+                                       {
+                                               dsColumnName = parameter.SourceColumn;
+                                       }
+                               }

+                               else

+                               {

+                                       dsColumnName = parameter.SourceColumn;

+                               }

                                if (row != null)
                                        parameter.Value = row [dsColumnName];
 
@@ -276,7 +318,21 @@
 
                                SqlParameter parameter = updateCommand.Parameters.Add 
(CreateParameter (parmIndex++, schemaRow));
 
-                               dsColumnName = tableMapping.ColumnMappings 
[parameter.SourceColumn].DataSetColumn;
+                               if(tableMapping != null)

+                               {

+                                       if(tableMapping.ColumnMappings.Count > 0)

+                                       {

+                                               dsColumnName = 
+tableMapping.ColumnMappings[parameter.SourceColumn].DataSetColumn;
+                                       }
+                                       else
+                                       {
+                                               dsColumnName = parameter.SourceColumn;
+                                       }
+                               }

+                               else

+                               {

+                                       dsColumnName = parameter.SourceColumn;

+                               }

                                if (row != null)
                                        parameter.Value = row [dsColumnName, 
DataRowVersion.Proposed];
 
@@ -299,7 +355,21 @@
                                if (!isKey) {
                                        parameter = updateCommand.Parameters.Add 
(CreateParameter (parmIndex++, schemaRow));
 
-                                       dsColumnName = tableMapping.ColumnMappings 
[parameter.SourceColumn].DataSetColumn;
+                                       if(tableMapping != null)

+                                       {

+                                               if(tableMapping.ColumnMappings.Count > 
+0)

+                                               {

+                                                       dsColumnName = 
+tableMapping.ColumnMappings[parameter.SourceColumn].DataSetColumn;
+                                               }
+                                               else
+                                               {
+                                                       dsColumnName = 
+parameter.SourceColumn;
+                                               }
+                                       }

+                                       else

+                                       {

+                                               dsColumnName = parameter.SourceColumn;

+                                       }

                                        if (row != null)
                                                parameter.Value = row [dsColumnName];
 
@@ -312,7 +382,21 @@
                                        
                                parameter = updateCommand.Parameters.Add 
(CreateParameter (parmIndex++, schemaRow));
 
-                               dsColumnName = tableMapping.ColumnMappings 
[parameter.SourceColumn].DataSetColumn;
+                               if(tableMapping != null)

+                               {

+                                       if(tableMapping.ColumnMappings.Count > 0)

+                                       {

+                                               dsColumnName = 
+tableMapping.ColumnMappings[parameter.SourceColumn].DataSetColumn;
+                                       }
+                                       else
+                                       {
+                                               dsColumnName = parameter.SourceColumn;
+                                       }
+                               }

+                               else

+                               {

+                                       dsColumnName = parameter.SourceColumn;

+                               }

                                if (row != null)
                                        parameter.Value = row [dsColumnName];
 
@@ -417,6 +501,8 @@
                        if ((bool) schemaRow ["IsHidden"])
                                return false;
                        if ((bool) schemaRow ["IsRowVersion"])
+                               return false;
+                       if ((bool) schemaRow ["IsReadOnly"])
                                return false;
                        return true;
                }

Reply via email to