internal static HandleRef getCPtrAndSetReference(DBFInfo obj, object parent) {
   if (obj != null)
   {
     obj.swigParentRef = parent;
     return obj.swigCPtr;
   }
   else
   {
     return new HandleRef(null, IntPtr.Zero);
   }
 }
 internal static HandleRef getCPtrAndDisown(DBFInfo obj, object parent) {
   if (obj != null)
   {
     obj.swigCMemOwn = false;
     obj.swigParentRef = parent;
     return obj.swigCPtr;
   }
   else
   {
     return new HandleRef(null, IntPtr.Zero);
   }
 }
示例#3
0
        public static string CreateTableSQL(DBFInfo r, string dbName)
        {
            StringBuilder s = new StringBuilder();

            s.Append($@"
{Environment.NewLine} USE {dbName + Environment.NewLine}
IF NOT EXISTS (SELECT * FROM SYSOBJECTS WHERE NAME='{r.TableName}' AND XTYPE='U')
CREATE TABLE [dbo].[{r.TableName}] ({Environment.NewLine}");

            IEnumerable <string> fields = r.Fields.Select(field =>
            {
                StringBuilder fieldsBuilder = new StringBuilder();

                fieldsBuilder.Append($"\t   [{field.Name}] ");
                string sqlType = "";
                switch (field.Type)
                {
                case 'L': sqlType = "bit"; break;

                case 'D': sqlType = "date"; break;

                case 'N':
                    {
                        if (field.Digits == 0)
                        {
                            sqlType = "int";
                        }
                        else
                        {
                            sqlType = $"numeric({(int)field.Size},{(int)field.Digits})";
                        }

                        break;
                    }

                case 'F': sqlType = "double"; break;

                default: sqlType = $"nvarchar({(int)field.Size})"; break;
                }
                fieldsBuilder.Append($"\t    { sqlType } null");

                return(fieldsBuilder.ToString());
            });

            s.Append(string.Join("," + Environment.NewLine, fields));

            s.Append(")");

            return(s.ToString());
        }
 internal static HandleRef getCPtr(DBFInfo obj) {
   return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
 }