如何对数据库中的多张表实现"增/删/改/查/浏览"的功能?

wxshzf 2006-10-24 12:50:17
我有MyTab1,...,MyTab10共10张表,每张表都只有4个字段左右,这些表都是对主表MyTable的一些字段的维护,现在要对MyTab1,...,MyTab10等10张表进行"增/删/改/查/浏览"的功能,请问如何实现,总不能对每张表编写代码吧?最好能将表名"MyTab??"作为参数传入,请大侠及高手们给些指点,有现成或有完整的代码请发邮件到wxshzf@sina.com,问题解决后另外再开贴献分!!!
...全文
159 14 打赏 收藏 举报
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
winner2050 2006-10-24
  • 打赏
  • 举报
回复
用“关系”,或者“触发器”进行操作。
wxshzf 2006-10-24
  • 打赏
  • 举报
回复
拼SQL是什么意思,我的??是表示对表的编号,我要的是WebForm操作代码,而不是要SqlServer的代码
brucenan999 2006-10-24
  • 打赏
  • 举报
回复
拼SQL啊,你想用??的话,就用个循环把字符替换掉,拼成一个长的SQL再执行.
aafshzj 2006-10-24
  • 打赏
  • 举报
回复
更正了一下,是可以调试通过的。当然运行还不行,还有很多要你自己实现:

using System.Data.SqlClient;

public class XxTableManager
{
private XxTableManager()
{
}

public static string[] GetXxTableNames()
{
// 从配置文件或一个特殊的表读取哪些数据表受本类型“管辖”,你甚至可以更进一步,通过接口建立各种
// 表族的统一管理入口和各自的“驱动”,但那最好留待将来。
return null;
}

public static void InsertData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
string sql = "insert into {0} (fieldname1, fieldname1, fieldname1) values (@p0, @p1, @p2)";

sql = string.Format(sql, table);

SqlConnection conn = null;
SqlDataReader reader = null;

try
{
string yourConnectionString = null;
conn = new SqlConnection(yourConnectionString);
conn.Open();



/// 创建command,把fieldvalues作为参数写进去。
SqlCommand cmd = new SqlCommand(sql, conn);

for (int i = 0; i < fieldValues.Length; i++)
{
// 2. define parameters used in command object
SqlParameter param = new SqlParameter();
param.ParameterName = "@p" + i;
param.Value = fieldValues[i];

// 3. add new parameter to command object
cmd.Parameters.Add(param);
}

// get data stream
cmd.ExecuteNonQuery();
}
//catch
//{
//}
finally
{
// close reader
if (reader != null)
{
reader.Close();
}

// close connection
if (conn != null)
{
conn.Close();
}
}
}

public static void DeleteData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
}

public static void UpdateData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
}

public static DataSet SelectData(string table)
{
return null;
}
}

wxshzf 2006-10-24
  • 打赏
  • 举报
回复
首先谢谢aafshzj(上海北京),先去看看你的Blog
aafshzj 2006-10-24
  • 打赏
  • 举报
回复
我个人是通过自己的AAF框架进行所有开发工作。关于AAF的更多信息,可以看看我的blog。

你的这个代码我就给一个粗线条框架吧,你自己充实一下:

using System.Data.SqlClient;

namespace test
{
public class XxTableManager
{
private XxTableManager()
{
}

public static string[] GetXxTableNames()
{
// 从配置文件或一个特殊的表读取哪些数据表受本类型“管辖”,你甚至可以更进一步,通过接口建立各种
// 表族的统一管理入口和各自的“驱动”,但那最好留待将来。
}

public static void InsertData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
string sql = "insert into {0} (fieldname1, fieldname1, fieldname1) values (@p0, @p1, @p2)";

sql = string.Format(sql, table);

SqlConnection conn = null;
SqlDataReader reader = null;

try
{
conn = new SqlConnection(yourConnectionString);
conn.Open();



/// 创建command,把fieldvalues作为参数写进去。
SqlCommand cmd = new SqlCommand(sql, conn);

for (int i = 0; i < fieldValues.Length; i++)
{
// 2. define parameters used in command object
SqlParameter param = new SqlParameter();
param.ParameterName = "@p" + i;
param.Value = fieldValues[i];

// 3. add new parameter to command object
cmd.Parameters.Add(param);
}

// get data stream
reader = cmd.ExecuteNonQuery();
}
//catch
//{
//}
finally
{
// close reader
if (reader != null)
{
reader.Close();
}

// close connection
if (conn != null)
{
conn.Close();
}
}
}

public static void DeleteData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
......
}

public static void UpdateData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
......
}

public static DataSet SelectData(string table)
{
......
}
}
}
wxshzf 2006-10-24
  • 打赏
  • 举报
回复
大侠们,都上哪啦?
wxshzf 2006-10-24
  • 打赏
  • 举报
回复
aafshzj(上海北京) 大侠,给点具体的代码行吗?!
wxshzf 2006-10-24
  • 打赏
  • 举报
回复
大侠们,你们平时做数据库方面的程序,是如何对表进行维护?
aafshzj 2006-10-24
  • 打赏
  • 举报
回复
1)你通过配置文件或数据库配置表决定哪些表需要进行统一维护
2)编写一套维护操作管理类,负责对任意一个同结构表进行维护,其中表名是一个参数,在所有维护提交时,表名通过字符串拼入insert/update/delete语句,具体维护字段信息通过参数提交。
dafeng168 2006-10-24
  • 打赏
  • 举报
回复
帮顶
wxshzf 2006-10-24
  • 打赏
  • 举报
回复
关于数据库操作不用谈,主要指点如何对这10张表中的任意一张的显示,修改,查询,删除等功能,后台的数据库操作可不说
wxshzf 2006-10-24
  • 打赏
  • 举报
回复
上面两们大侠说的好象与我提的功能要求不一致?!
wxshzf 2006-10-24
  • 打赏
  • 举报
回复
主要是用户界面的代码及控件呢?
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2006-10-24 12:50
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。