⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clsdb.cs

📁 通过配置数据库连接并选择数据库表,可自动生成数据库表的实体类,并且实体类中包含记录集合,可在类中对各记录集合进行修改后一次性提交保存,支持事务.
💻 CS
📖 第 1 页 / 共 3 页
字号:
                                        break;
                                    }
                                case "System.Windows.Forms.MaskedTextBox":
                                    {
                                        strVal = ((MaskedTextBox)ctlTmp).Text;
                                        break;
                                    }
                                default:
                                    {
                                        MessageBox.Show("控件类型超出预设!");
                                        return false;
                                    }
                            }
                            switch (SaveTable.Columns[strCol].DataType.ToString())
                            {
                                case "System.String":
                                    {
                                        rowData[strCol] = strVal.Replace("'", "''");
                                        break;
                                    } 
                                case "System.Double":
                                    {
                                        if (ctlTmp.Text == "")
                                        {
                                            rowData[strCol] = DBNull.Value;
                                        }
                                        else
                                        {
                                            if (strVal.Replace(",", "").Replace(".", "").Replace(" ", "") == "")
                                            {
                                                strVal = "0";
                                            }
                                            rowData[strCol] = Convert.ToDouble(strVal.Replace(",","").Replace(" ",""));
                                        }
                                        break;
                                    }
                                case "System.Single":
                                    {
                                        if (ctlTmp.Text == "")
                                        {
                                            rowData[strCol] = DBNull.Value;
                                        }
                                        else
                                        {
                                            if (strVal.Replace(",", "").Replace(".", "").Replace(" ", "") == "")
                                            {
                                                strVal = "0";
                                            }
                                            rowData[strCol] = Convert.ToSingle(strVal.Replace(",", "").Replace(" ", ""));
                                        }
                                        break;
                                    }
                                case "System.Int32":
                                    {
                                        if (ctlTmp.Text == "")
                                        {
                                            rowData[strCol] = DBNull.Value;
                                        }
                                        else
                                        {
                                            rowData[strCol] = Convert.ToInt32(strVal.Replace(",", "").Replace(" ", ""));
                                        }
                                        break;
                                    }
                                case "System.Decimal":
                                    {
                                        if (ctlTmp.Text == "")
                                        {
                                            rowData[strCol] = DBNull.Value;
                                        }
                                        else
                                        {
                                            rowData[strCol] = Convert.ToDecimal(strVal.Replace(",", "").Replace(" ", ""));
                                        }
                                        break;
                                    }
                                case "System.DateTime":
                                    {
                                        if (ctlTmp is DateTimePicker)
                                        {
                                            if (((DateTimePicker)ctlTmp).Checked)
                                            {
                                                rowData[strCol] = Convert.ToDateTime(strVal);
                                            }
                                            else
                                            {
                                                rowData[strCol] = DBNull.Value;
                                            }
                                        }
                                        else
                                        {
                                            rowData[strCol] = Convert.ToDateTime(strVal);
                                        }
                                        break;
                                    }
                                case "System.Boolean":
                                    {
                                        rowData[strCol] = (strVal=="1");
                                        break;
                                    }
                                default:
                                    {
                                        MessageBox.Show("数据类型超出预设!");
                                        //return false;
                                        break;
                                    }
                            }
                            if (strCol == strID && IsAddNew)
                            {
                                rowData[strCol] = DBNull.Value;
                            }
                        }
                    }
                }
                SaveTable.AcceptChanges();
                SaveDataByTable(SaveTable, strTable, strID);
                //			SaveDataByTable(SaveTable,TableName,bolIsAdd,IDCol);
            }
            return true;
        }


        public static void InitFormWithView(Control DataForm, string InitView)
        {
            DataRow rowData;
            string strCol;
            string strVal;

            DataTable SaveTable = clsDB.GetData(InitView);

            if (SaveTable.Rows.Count == 0)
            {
                rowData = SaveTable.NewRow();
                SaveTable.Rows.Add(rowData);
            }
            rowData = SaveTable.Rows[0];
            //			rowData.BeginEdit();
            foreach (Control ctlTmp in DataForm.Controls)
            {
                if (ctlTmp.Tag != null)
                {
                    if (ctlTmp.Tag.ToString() != "")
                    {
                        strCol = ctlTmp.Tag.ToString().Replace("*", "").Replace("!", "");
                        strVal = rowData[strCol].ToString();
                        switch (ctlTmp.GetType().ToString())
                        {
                            case "System.Windows.Forms.TextBox":
                                {
                                    if (ctlTmp.Tag.ToString().IndexOf("*") < 0 || ctlTmp.Text == "")
                                        ctlTmp.Text = strVal;
                                    break;
                                }
                            case "System.Windows.Forms.Label":
                                {
                                    if (ctlTmp.Tag.ToString().IndexOf("*") < 0 || ctlTmp.Text == "")
                                        ctlTmp.Text = strVal;
                                    break;
                                }
                            case "System.Windows.Forms.CheckBox":
                                {
                                    if (ctlTmp.Tag.ToString().IndexOf("*") < 0 || ((CheckBox)ctlTmp).Checked == false)
                                        ((CheckBox)ctlTmp).Checked = (strVal == "1");
                                    break;
                                }
                            case "System.Windows.Forms.ComboBox":
                                {
                                    if (ctlTmp.Tag.ToString().IndexOf("*") < 0 || ((ComboBox)ctlTmp).SelectedIndex <= 0)
                                        if (ctlTmp.Tag.ToString().IndexOf("!") < 0)
                                        {
                                            ((ComboBox)ctlTmp).SelectedValue = rowData[strCol];
                                        }
                                        else
                                        {
                                            ((ComboBox)ctlTmp).Text = rowData[strCol].ToString();
                                        }
                                    break;
                                }
                            case "System.Windows.Forms.ListBox":
                                {
                                    if (ctlTmp.Tag.ToString().IndexOf("*") < 0 || ((ListBox)ctlTmp).SelectedIndex == 0)
                                        ((ListBox)ctlTmp).SelectedValue = rowData[strCol];
                                    break;
                                }
                            case "System.Windows.Forms.DateTimePicker":
                                {
                                    if (ctlTmp.Tag.ToString().IndexOf("*") < 0)
                                    {
                                        if (strVal == "")
                                        {
                                            ((DateTimePicker)ctlTmp).Checked = false;
                                        }
                                        else
                                        {
                                            ((DateTimePicker)ctlTmp).Checked = true;
                                            try
                                            {
                                                ((DateTimePicker)ctlTmp).Value = Convert.ToDateTime(strVal);
                                            }
                                            catch
                                            {
                                                //strVal = strVal;
                                            }
                                        }
                                    }
                                    break;
                                }
                            //MaskedTextBox
                            case "System.Windows.Forms.MaskedTextBox":
                                {
                                    if (ctlTmp.Tag.ToString().IndexOf("*") < 0 || ctlTmp.Text == "")
                                        ctlTmp.Text =double.Parse(strVal).ToString("000000.00");
                                    break;
                                }
                            default:
                                {
                                    throw new Exception("控件类型超出预设!");
                                }
                        }
                    }
                }
            }
        }

        public static void SaveDataByTable(DataTable TableSave, string TableName, bool IsAddNew, string IDCol)
        {
            //			OracleCommand ocmSave =new OracleCommand();
            string strSql = "";
            string strValues = "";
            string strWhere;
            if (IsAddNew)
            {
                for (int j = 0; j < TableSave.Rows.Count; j++)
                {
                    strSql = "Insert Into " + TableName + " (";
                    strValues = ") Values (";
                    for (int i = 0; i < TableSave.Columns.Count; i++)
                    {


                        if (TableSave.Columns[i].ColumnName == IDCol)
                        {
                            //strValues=strValues+"hibernate_sequence.nextval,";
                        }
                        else
                        {
                            if (TableSave.Rows[j][i] != DBNull.Value)
                            {
                                strSql = strSql + TableSave.Columns[i].ColumnName + ",";
                                switch (TableSave.Columns[i].DataType.ToString())
                                {
                                    case ("System.String"):
                                        {
                                            strValues = strValues + "'" + TableSave.Rows[j][i].ToString() + "',";
                                            break;
                                        }
                                    case ("System.DateTime"):
                                        {
                                            if (TableSave.Rows[j][i] != DBNull.Value)
                                            {
                                                strValues = strValues + "'" + Convert.ToDateTime(TableSave.Rows[j][i]).ToString("yyyy-MM-dd HH:mm:ss") + "',";
                                            }
                                            else
                                            {
                                                strValues = strValues + "null,";
                                            }
                                            break;
                                        }
                                    case ("System.Boolean"):
                                        {
                                            if (TableSave.Rows[j][i] != DBNull.Value)
                                            {
                                                int intVal;
                                                if (TableSave.Rows[j][i].ToString().ToLower() == "true")
                                                {
                                                    intVal = 1;
                                                }
                                                else
                                                {
                                                    intVal = 0;
                                                }
                                                strValues = strValues +intVal.ToString() + ",";
                                            }
                                            else
                                            {
                                                strValues = strValues + "null,";
                                            }
                                            break;
                                        }
                                    default:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -