㈠ C#窗體實現SQL的增刪改查功能
幫你寫個最簡單的程序吧,已經在VS2005環境下編譯通過:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.OracleClient;
namespace DataGridView顯示資料庫
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnQuery_Click(object sender, EventArgs e)
{
string sql = "SELECT factory_id,factory_name,bank_id,bank_name FROM B_FACTORY WHERE valid='1'";//這里改相應的SQL語句就可以實現相應的功能
DataSet ds = DBcommand(sql);
dataGridView1.DataSource = ds.Tables[0];
}
/// <summary>
/// 對oracle資料庫進行操作
/// </summary>
/// <param name="command">SQL查詢語句</param>
private DataSet DBcommand(string command)
{
string connectionString = "Data Source=MTMS;user id=admin;password=admin"; //改為你自己的資料庫連接
OracleConnection conn = new OracleConnection();
conn.ConnectionString = connectionString;
try
{
conn.Open();
OracleCommand cmd = new OracleCommand(command, conn);
OracleDataAdapter da = new OracleDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds, "movie");
conn.Close();
return ds;
}
catch (Exception ex)
{
MessageBox.Show("打開資料庫失敗", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
return null;
}
finally
{
conn.Close();
}
}
private void btnDel_Click(object sender, EventArgs e)
{
}
}
}
說明幾點:
1.界面自己畫
2.我這里只有oracle資料庫,如果是其它資料庫,連接方法應該類似,自己到網上找找
3.為了調試我隨便找了個表B_factory,表結構factory_id,factory_name,bank_id,bank_name ,你相應改為employee表就是了
4.快下班了只做了個查詢功能,但已經實現了最重要的資料庫連接和datagridview數據綁定,要實現增加和刪除只要直接改那個sql語句就行了;修改稍微麻煩點,把選中的行放入一個臨時變數,修改後同樣寫個update的sql語句傳進去就行了
最後祝你過關
------------------
補充一點,如果編譯通不過可能要手動添加引用:右鍵單擊項目,選添加引用,或右鍵單擊引用,然後在彈出來的添加引用對話框里的.NET選項卡中選擇System.Data.OracleClient,點確定就行了
㈡ 如何在C#窗體程序中連接資料庫並實現增、刪、改、查啊我不會連接資料庫,也不會在裡面寫代碼實現增刪改查
using System;
using System.Collections;
using System.Collections.Specialized;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Data.Common;
using System.Collections.Generic;
namespace CeptAuto.DBUtility
{
/// <summary>
/// 數據訪問抽象基礎類
/// Copyright (C) 2004-2008 By LiTianPing
/// </summary>
public abstract class DbHelperSQL
{
//資料庫連接字元串(web.config來配置),可以動態更改connectionString支持多資料庫.
public static string connectionString = PubConstant.ConnectionString;
public DbHelperSQL()
{
}
#region 公用方法
/// <summary>
/// 判斷是否存在某表的某個欄位
/// </summary>
/// <param name="tableName">表名稱</param>
/// <param name="columnName">列名稱</param>
/// <returns>是否存在</returns>
public static bool ColumnExists(string tableName, string columnName)
{
string sql = "select count(1) from syscolumns where [id]=object_id('" + tableName + "') and [name]='" + columnName + "'";
object res = GetSingle(sql);
if (res == null)
{
return false;
}
return Convert.ToInt32(res) > 0;
}
public static int GetMaxID(string FieldName, string TableName)
{
string strsql = "select max(" + FieldName + ")+1 from " + TableName;
object obj = GetSingle(strsql);
if (obj == null)
{
return 1;
}
else
{
return int.Parse(obj.ToString());
}
}
public static bool Exists(string strSql)
{
object obj = GetSingle(strSql);
int cmdresult;
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
cmdresult = 0;
}
else
{
cmdresult = int.Parse(obj.ToString());
}
if (cmdresult == 0)
{
return false;
}
else
{
return true;
}
}
/// <summary>
/// 表是否存在
/// </summary>
/// <param name="TableName"></param>
/// <returns></returns>
public static bool TabExists(string TableName)
{
string strsql = "select count(*) from sysobjects where id = object_id(N'[" + TableName + "]') and OBJECTPROPERTY(id, N'IsUserTable') = 1";
//string strsql = "SELECT count(*) FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[" + TableName + "]') AND type in (N'U')";
object obj = GetSingle(strsql);
int cmdresult;
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
cmdresult = 0;
}
else
{
cmdresult = int.Parse(obj.ToString());
}
if (cmdresult == 0)
{
return false;
}
else
{
return true;
}
}
public static bool Exists(string strSql, params SqlParameter[] cmdParms)
{
object obj = GetSingle(strSql, cmdParms);
int cmdresult;
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
cmdresult = 0;
}
else
{
cmdresult = int.Parse(obj.ToString());
}
if (cmdresult == 0)
{
return false;
}
else
{
return true;
}
}
#endregion
#region 執行簡單SQL語句
/// <summary>
/// 執行SQL語句,返回影響的記錄數
/// </summary>
/// <param name="SQLString">SQL語句</param>
/// <returns>影響的記錄數</returns>
public static int ExecuteSql(string SQLString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(SQLString, connection))
{
try
{
connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.SqlClient.SqlException e)
{
connection.Close();
throw e;
}
}
}
}
public static int ExecuteSqlByTime(string SQLString, int Times)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(SQLString, connection))
{
try
{
connection.Open();
cmd.CommandTimeout = Times;
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.SqlClient.SqlException e)
{
connection.Close();
throw e;
}
}
}
}
/// <summary>
/// 執行多條SQL語句,實現資料庫事務。
/// </summary>
/// <param name="SQLStringList">多條SQL語句</param>
public static int ExecuteSqlTran(List<String> SQLStringList)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
SqlTransaction tx = conn.BeginTransaction();
cmd.Transaction = tx;
try
{
int count = 0;
for (int n = 0; n < SQLStringList.Count; n++)
{
string strsql = SQLStringList[n];
if (strsql.Trim().Length > 1)
{
cmd.CommandText = strsql;
count += cmd.ExecuteNonQuery();
}
}
tx.Commit();
return count;
}
catch
{
tx.Rollback();
return 0;
}
}
}
/// <summary>
/// 執行帶一個存儲過程參數的的SQL語句。
/// </summary>
/// <param name="SQLString">SQL語句</param>
/// <param name="content">參數內容,比如一個欄位是格式復雜的文章,有特殊符號,可以通過這個方式添加</param>
/// <returns>影響的記錄數</returns>
public static int ExecuteSql(string SQLString, string content)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand(SQLString, connection);
System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter("@content", SqlDbType.NText);
myParameter.Value = content;
cmd.Parameters.Add(myParameter);
try
{
connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.SqlClient.SqlException e)
{
throw e;
}
finally
{
cmd.Dispose();
connection.Close();
}
}
}
/// <summary>
/// 執行帶一個存儲過程參數的的SQL語句。
/// </summary>
/// <param name="SQLString">SQL語句</param>
/// <param name="content">參數內容,比如一個欄位是格式復雜的文章,有特殊符號,可以通過這個方式添加</param>
/// <returns>影響的記錄數</returns>
public static object ExecuteSqlGet(string SQLString, string content)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand(SQLString, connection);
System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter("@content", SqlDbType.NText);
myParameter.Value = content;
cmd.Parameters.Add(myParameter);
try
{
connection.Open();
object obj = cmd.ExecuteScalar();
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
return null;
}
else
{
return obj;
}
}
catch (System.Data.SqlClient.SqlException e)
{
throw e;
}
finally
{
cmd.Dispose();
connection.Close();
}
}
}
/// <summary>
/// 向資料庫里插入圖像格式的欄位(和上面情況類似的另一種實例)
/// </summary>
/// <param name="strSQL">SQL語句</param>
/// <param name="fs">圖像位元組,資料庫的欄位類型為image的情況</param>
/// <returns>影響的記錄數</returns>
public static int ExecuteSqlInsertImg(string strSQL, byte[] fs)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand(strSQL, connection);
System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter("@fs", SqlDbType.Image);
myParameter.Value = fs;
cmd.Parameters.Add(myParameter);
try
{
connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.SqlClient.SqlException e)
{
throw e;
}
finally
{
cmd.Dispose();
connection.Close();
}
}
}
/// <summary>
/// 執行一條計算查詢結果語句,返回查詢結果(object)。
/// </summary>
/// <param name="SQLString">計算查詢結果語句</param>
/// <returns>查詢結果(object)</returns>
public static object GetSingle(string SQLString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(SQLString, connection))
{
try
{
connection.Open();
object obj = cmd.ExecuteScalar();
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
return null;
}
else
{
return obj;
}
}
catch (System.Data.SqlClient.SqlException e)
{
connection.Close();
throw e;
}
}
}
}
public static object GetSingle(string SQLString, int Times)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(SQLString, connection))
{
try
{
connection.Open();
cmd.CommandTimeout = Times;
object obj = cmd.ExecuteScalar();
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
return null;
}
else
{
return obj;
}
}
catch (System.Data.SqlClient.SqlException e)
{
connection.Close();
throw e;
}
}
}
}
/// <summary>
/// 執行查詢語句,返回SqlDataReader ( 注意:調用該方法後,一定要對SqlDataReader進行Close )
/// </summary>
/// <param name="strSQL">查詢語句</param>
/// <returns>SqlDataReader</returns>
public static SqlDataReader ExecuteReader(string strSQL)
{
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand(strSQL, connection);
try
{
connection.Open();
SqlDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return myReader;
}
catch (System.Data.SqlClient.SqlException e)
{
throw e;
}
}
/// <summary>
/// 執行查詢語句,返回DataSet
㈢ 用c#代碼在windows窗體上更新刪除查詢SQL資料庫
既然你能刪除,說明資料庫是連接好了的啊
查詢的話 你試試
把數據查詢出來放到GridView
private void button17_Click(object sender, EventArgs e)
{
string sql = "select * from Users";
DataTable dt = DbHelperSQL.QueryTb(sql);
dataGridView1.DataSource = dt;
}
更新我不知道你說的是怎麼個更新法
㈣ 怎麼在界面上對資料庫的數據進行增刪查改
建議使用MVC模式做,JSP頁面提交相應的操作後,提交給Servlet,Servlet中調用Model中定義的增刪改查方法,方法調用後返回結果,然後通過Servlet返回給JSP頁面。對於前台的增刪改查跟資料庫中中新建查詢的操作是一樣的,只是JSP頁面增刪改查是調用資料庫查詢語句封裝的函數方法而已!
㈤ vb編寫學生基本信息實現access資料庫的增刪改查
1)首先需要用Office軟體中的Access軟體建立一個學生基本信息資料庫。表中新建幾個表,可以是學生名冊表,學生各專業課程分數登錄表等等。
2)VB新建數據工程,此時VB6集成調試環境左邊工具箱內已載入了有關資料庫編程必須的控制項。
3)然後在FORM1窗體中添加ADO數據控制項,右鍵-ADODC1控制項屬性頁-使用連接字元串,選生成,在提供者選項中選MICROSOFT jet 4.0 OLE DB Provider,然後按要求連接資料庫等。在ADODC1控制項屬性頁使用連接字元串空白文本窗口中就有一長串字元串,注意該字元串可復制到程序代碼用於編程。
ADODC1控制項屬性頁的數據源內有命令文本(SQL)編寫窗口可編寫SQL查詢語言。該窗口的SQL語句可復制到程序代碼用於編程。
4)可以將SQL查詢語句賦值給ADO數據控制項的RecordSource屬性來達到添加、刪除、修改或查詢。
5)數據的輸入、修改等可靈活應用文本框或數據表格控制項與ADO數據控制項通過代碼綁定。
6)想使用ADO數據對象,也可將ADO數據控制項所寫的代碼較方便的移植給ADO數據對象。
典型的ADO數據控制項的數據連接和查詢代碼:
PrivateSubCommand4_Click()
Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:.MDB;PersistSecurityInfo=False"
Adodc1.RecordSource="select*fromAuthorswhereAuthor='Jacobs_Russell'"
Adodc1.Refresh
SetDataGrid1.DataSource=Adodc1
EndSub
典型的數據對象代碼:
PrivateSubCommand11_Click()
DimcnAsNewADODB.Connection'定義資料庫的連接
DimrsAsNewADODB.Recordset
DimsqlAsString
sql="select*fromguzhang_sj"'wheremadanhao='1'"
cn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"wd.mdb;PersistSecurityInfo=False"
cn.Open
rs.CursorLocation=adUseClient
rs.Opensql,cn,adOpenDynamic,adLockOptimistic
SetMSHFlexGrid1.DataSource=rs
rs.AddNew
rs.Fields(0).Value="14"
rs.Update
EndSub
㈥ asp.net中web窗體對資料庫增查刪改,直接的操作
你在設抄計界面點那個箭頭給襲gridview 配置數據源,配置時記得點【高級】里勾選上生成增刪改查。然後配置gridview,勾選啟用編輯 之類的。
這是不用寫代碼的最原始做法。
如果要自己寫,那就是在前台給gridview添加幾個相關事件。後台再寫代碼就可以
㈦ 怎樣在Windows窗體程序中使用Entity Framework進行數據的增刪
端點調試一下在刪除或者添加一行之後,後台中的數據列表有沒有多或者少,然後調用savechange