亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? vc_oracle2.txt

?? 在vc中創建數據庫
?? TXT
?? 第 1 頁 / 共 5 頁
字號:

								int p;

								memset( temp_value, '\0', sizeof(temp_value));

								for(int i=0;i<fknum;i++)
								{
									tempTableN = fkSign[i][0];

									if(strcmp(tempTableN,"")==0)
									{
										break;
									}

									strcpy(temp_value[tempNum][0],tempTableN);

									sqlUpdateSelect = "select ";

									for(int j=1,q=1;j<20;j++)
									{
										tempField = fkSign[i][j];

										if(strcmp(tempField,"")==0)
										{
											break;
										}

										if(flag==1)
										{
											sqlUpdateSelect.append(",");
										}
										else
										{
											flag=1;
										}

										sqlUpdateSelect.append(tempField);

									}

									flag = 0;

									sqlUpdateSelect.append(" from ");

									sqlUpdateSelect.append(tableName);

									sqlUpdateSelect.append(" where ");

									sqlUpdateSelect.append(keyName);

									sqlUpdateSelect.append(" = \'");

									sqlUpdateSelect.append(keyValue);

									sqlUpdateSelect.append("\'");
									
									chSqlUpdateSelect = sqlUpdateSelect.c_str();					
											
									if (cn)
									{
										st = OCI_StatementCreate(cn);
											
										OCI_ExecuteStmt(st,MT(chSqlUpdateSelect));

										OCI_Commit(cn);	

										rs = OCI_GetResultset(st);

										while (OCI_FetchNext(rs))                    //循環存儲表中主鍵紀錄的值
										{
											const char *value;

											p = 1;

											while(p<=fknum)
											{
												value = OCI_GetString(rs,p);                  

												strcpy(temp_value[tempNum][p],value);

												p++;
													
											}

											tempNum++;
												
										}
											//n  = OCI_GetRowCount(rs);
									}
								}

								char *fkTableName,*fkFieldName;

								flag = 0;

								memset( temp_key, '\0', sizeof(temp_key));
								
								for(int i=0;i<fknum;i++)
								{
									sqlUpdateSelect = "select key from ";

									tempTableN = temp_value[i][0];

									fkTableName = fkSign[i][0];

									if(strcmp(tempTableN,"")==0)
									{
										break;
									}

									strcpy(temp_key[i][0],tempTableN); 

									sqlUpdateSelect.append(tempTableN);

									sqlUpdateSelect.append(" where ");

									for(int j=1;j<20;j++)
									{
										tempField = temp_value[i][j];

										fkFieldName = fkSign[i][j];

										if(strcmp(tempField,"")==0)
										{
											break;
										}

										if(flag==1)
										{
											sqlUpdateSelect.append(" and ");
										}
										else
										{
											flag=1;
										}

										sqlUpdateSelect.append(fkFieldName);

										sqlUpdateSelect.append(" = \'");

										sqlUpdateSelect.append(tempField);

										sqlUpdateSelect.append("\'");

									}
									flag = 0;

									chSqlUpdateSelect = sqlUpdateSelect.c_str();

									p = 1;
											
									if (cn)
									{
										st = OCI_StatementCreate(cn);
											
										OCI_ExecuteStmt(st,MT(chSqlUpdateSelect));

										OCI_Commit(cn);	

										rs = OCI_GetResultset(st);

										while (OCI_FetchNext(rs))                    //循環存儲表中主鍵紀錄的值
										{
											const char *value;

											value = OCI_GetString(rs,1);                  

											strcpy(temp_key[i][p],value);

											p++;
		
										}
										//n  = OCI_GetRowCount(rs);
									}								
								}

								char *tName;
							
								for(int k=0;k<20;k++)
								{
									for(int i=0;i<fknum;i++)
									{
										tempTableN = fkSign[i][0];

										tName = temp_key[k][0];

										if(strcmp(tName,tempTableN)==0)
										{
											for(int j=1;j<20;j++)
											{
												tempField  = temp_key[k][j];

												if(strcmp(tempField,"")==0)
												{
													break;
												}

												strcpy(updatefeild[updnum][0][0],"tablename"); 

												strcpy(updatefeild[updnum][1][0],tempTableN); 

												strcpy(updatefeild[updnum][0][1],"key"); 

												strcpy(updatefeild[updnum][1][1],tempField);

												q=2;

												for(int h=1;h<20;h++)
												{
													fkFieldName = fkSign[i][h];

													if(strcmp(fkFieldName,"")==0)
													{
														break;
													}

													for(int i=0;i<pknum;i++)   
													{						
														pkname = pkSign[i];

														tempField = pkColumnValue[i];

														if(strcmp(fkFieldName,pkname)==0)
														{
															strcpy(updatefeild[updnum][0][q],pkname);                      //updnum表示有多少條記錄要改,此處為一

															strcpy(updatefeild[updnum][1][q],tempField);

															q++;

														}
													}
												}											

												updnum++;
											}
										}
									}								
								}
								return true;
							}								
						}
					}
				}
			}
		}
	}
	else                                          //引用了其它表的字段,如果修改內容包括引用字段,返回修改失敗,fkToPk數組
	{
		int q = 0,updnum = 0;

		memset( fkField, '\0', sizeof(fkField));

		for(int i=0;i<fkToPknum;i++)                          
		{
			tempTableN = fkToPk[i][0];

			if(strcmp(tempTableN,"")==0)
			{
				break;
			}

			strcpy(fkField[i][0],tempTableN);

			for(int j=1;j<20;j++)
			{
				tempField = fkToPk[i][j];

				if(strcmp(tempField,"")==0)
				{
					break;
				}

				value = select_value(tableName,tempField,keyName,keyValue);

				strcpy(fkField[i][j],value);
			}
		}

		if(strcmp(keyName,"key")==0)  
		{
			for(int i=0;i<10;i++)                        //判斷是否有父表內容進行修改,有則修改失敗
			{
				tempTableN = fkField[i][0];

				if(strcmp(tempTableN,"")==0)
				{
					break;
				}

				for(int j=1;j<20;j++)
				{
					tempField = fkToPk[i][j];

					tempFieldValue = fkField[i][j];

					if(strcmp(tempField,"")==0)
					{
						break;
					}

					for(int i=2;i<fieldUpdateCount;i++)
					{
						fieldName = fieldUpdate_array[i].getFieldName();

						fieldValue = fieldUpdate_array[i].getFieldValue();

						if(strcmp(tempField,fieldName)==0)                           //加一個比較,比較其中的值是否相同,不同則失敗
						{
							if(strcmp(fieldValue,tempFieldValue)!=0)
							{
								printf("修改失敗,所要修改的內容引用自父表!");

								return false;
							}
						}
					}
				}
			}

			memset( pkColumnValue, '\0', sizeof(pkColumnValue));

			for(int i=0;i<pknum;i++)                          
			{
				pkname = pkSign[i];

				pkvalue = select_value(tableName,pkname,keyName,keyValue);

				strcpy(pkColumnValue[i],pkvalue);
			}

			for(int i=0;i<pknum;i++)                          
			{
				pkname = pkSign[i];

				pkvalue = pkColumnValue[i];

				for(int j=1;j<fieldUpdateCount;j++)                              
				{
					fieldName = fieldUpdate_array[j].getFieldName();

					fieldValue = fieldUpdate_array[j].getFieldValue();

					if(strcmp(fieldName,pkname)==0)
					{
						if(strcmp(fieldValue,pkvalue)!=0)
						{
							strcpy(pkColumnValue[i],fieldValue);
						}
					}
				}
			}

			if(fknum==0)
			{
				memset( updatefeild, '\0', sizeof(updatefeild));

				for(int i=0;i<fieldUpdateCount;i++)                              
				{
					fieldName = fieldUpdate_array[i].getFieldName();

					fieldValue = fieldUpdate_array[i].getFieldValue();

					strcpy(updatefeild[updnum][0][q],fieldName);             //updnum表示有多少條記錄要改

					strcpy(updatefeild[updnum][1][q],fieldValue);

					q++;
				}

				updnum++;

				return true;
			}
			else
			{
				memset( updatefeild, '\0', sizeof(updatefeild));

				for(int i=0;i<fieldUpdateCount;i++)                              
				{
					fieldName = fieldUpdate_array[i].getFieldName();

					fieldValue = fieldUpdate_array[i].getFieldValue();

					strcpy(updatefeild[updnum][0][q],fieldName);             //updnum表示有多少條記錄要改

					strcpy(updatefeild[updnum][1][q],fieldValue);

					q++;

				}

				updnum++;

				flag = 0;

				int p;

				memset( temp_value, '\0', sizeof(temp_value));

				for(int i=0;i<fknum;i++)
				{
					tempTableN = fkSign[i][0];

					if(strcmp(tempTableN,"")==0)
					{
						break;
					}

					strcpy(temp_value[tempNum][0],tempTableN);

					sqlUpdateSelect = "select ";

					for(int j=1,q=1;j<20;j++)
					{
						tempField = fkSign[i][j];

						if(strcmp(tempField,"")==0)
						{
							break;
						}

						if(flag==1)
						{
							sqlUpdateSelect.append(",");
						}
						else
						{
							flag=1;
						}

						sqlUpdateSelect.append(tempField);

					}

					flag = 0;

					sqlUpdateSelect.append(" from ");

					sqlUpdateSelect.append(tableName);

					sqlUpdateSelect.append(" where ");

					sqlUpdateSelect.append(keyName);

					sqlUpdateSelect.append(" = \'");

					sqlUpdateSelect.append(keyValue);

					sqlUpdateSelect.append("\'");
					
					chSqlUpdateSelect = sqlUpdateSelect.c_str();					
							
					if (cn)
					{
						st = OCI_StatementCreate(cn);
							
						OCI_ExecuteStmt(st,MT(chSqlUpdateSelect));

						OCI_Commit(cn);	

						rs = OCI_GetResultset(st);

						while (OCI_FetchNext(rs))                    //循環存儲表中主鍵紀錄的值
						{
							const char *value;

							p = 1;

							while(p<=pknum)
							{
								value = OCI_GetString(rs,p);                  

								strcpy(temp_value[tempNum][p],value);

								p++;
									
							}

							tempNum++;
								
						}
							//n  = OCI_GetRowCount(rs);
					}
				}

				sqlUpdateSelect = "select key from ";

				sqlUpdateSelect.append(tableName);

				sqlUpdateSelect.append(" where ");

				for(int i=0;i<pknum;i++)                          
				{
					pkname = pkSign[i];

					pkvalue = pkColumnValue[i];

					if(flag==1)
					{
						sqlUpdateSelect.append(" and ");
					}
					else
					{
						flag=1;
					}

					sqlUpdateSelect.append(pkname);

					sqlUpdateSelect.append(" = \'");

					sqlUpdateSelect.append(pkvalue);

					sqlUpdateSelect.append("\'");

				}
				flag = 0;

				chSqlUpdateSelect = sqlUpdateSelect.c_str();

				p = 1;
						
				if (cn)
				{
					st = OCI_StatementCreate(cn);
						
					OCI_ExecuteStmt(st,MT(chSqlUpdateSelect));

					OCI_Commit(cn);	

					rs = OCI_GetResultset(st);

					while (OCI_FetchNext(rs))                    //循環存儲表中主鍵紀錄的值
					{
						const char *value;

						value = OCI_GetString(rs,1);  

						if(strcmp(value,keyValue)!=0)
						{
							printf("所要插入的數據已存在,修改失敗!");

							return false;
						}
					}
				}							
				char *fkTableName,*fkFieldName;

				flag = 0;

				memset( temp_key, '\0', sizeof(temp_key));
				
				for(int i=0;i<fknum;i++)
				{
					sqlUpdateSelect = "select key from ";

					tempTableN = temp_value[i][0];

					fkTableName = fkSign[i][0];

					if(strcmp(tempTableN,"")==0)
					{
						break;
					}

					strcpy(temp_key[i][0],tempTableN); 

					sqlUpdateSelect.append(tempTableN);

					sqlUpdateSelect.append(" where ");

					for(int j=1;j<20;j++)
					{
						tempField = temp_value[i][j];

						fkFieldName = fkSign[i][j];

						if(strcmp(tempField,"")==0)
						{
							break;
						}

						if(flag==1)
						{
							sqlUpdateSelect.append(" and ");
						}
						else
						{
							flag=1;
						}

						sqlUpdateSelect.append(fkFieldName);

						sqlUpdateSelect.append(" = \'");

						sqlUpdateSelect.append(tempField);

						sqlUpdateSelect.append("\'");

					}
					flag = 0;

					chSqlUpdateSelect = sqlUpdateSelect.c_str();

					p = 1;
							
					if (cn)
					{
						st = OCI_StatementCreate(cn);
							
						OCI_ExecuteStmt(st,MT(chSqlUpdateSelect));

						OCI_Commit(cn);	

						rs = OCI_GetResultset(st);

						while (OCI_FetchNext(rs))                    //循環存儲表中主鍵紀錄的值
						{
							const char *value;

							value = OCI_GetString(rs,1);                  

							strcpy(temp_key[i][p],value);

							p++;

						}
						//n  = OCI_GetRowCount(rs);
					}								
				}

				char *tName;
			
				for(int k=0;k<20;k++)
				{
					tName = temp_key[k][0];

					if(strcmp(tName,"")==0)
					{
						break;
					}

					for(int i=0;i<fknum;i++)
					{
						tempTableN = fkSign[i][0];

						if(strcmp(tName,tempTableN)==0)
						{
							for(int j=1;j<20;j++)
							{
								tempField  = temp_key[k][j];

								if(strcmp(tempField,"")==0)
								{
									break;
								}

								strcpy(updatefeild[updnum][0][0],"tablename"); 

								strcpy(updatefeild[updnum][1][0],tempTableN); 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美福利视频一区| 亚洲一区二区三区中文字幕 | 91蜜桃在线观看| 欧美人与性动xxxx| 国产精品久久99| 美女mm1313爽爽久久久蜜臀| av毛片久久久久**hd| 精品sm捆绑视频| 三级成人在线视频| 日本黄色一区二区| 日韩美女精品在线| 国产91清纯白嫩初高中在线观看| 欧美一二三在线| 日韩精品91亚洲二区在线观看 | 丝袜诱惑制服诱惑色一区在线观看 | 日韩欧美视频一区| 亚洲国产日产av| 色综合久久中文字幕| 中文字幕精品—区二区四季| 国产一区二区三区| 欧美刺激午夜性久久久久久久| 亚洲美女屁股眼交| 91在线国产福利| 亚洲欧美综合网| 94色蜜桃网一区二区三区| 国产精品久线观看视频| 懂色av中文一区二区三区| 久久久久久毛片| 国产精品一区在线| 日本一区二区三区四区| 国产精品影音先锋| 中文天堂在线一区| 顶级嫩模精品视频在线看| 国产女主播在线一区二区| 国产精品77777竹菊影视小说| 国产日本欧美一区二区| 国产黄人亚洲片| 国产色一区二区| 成人美女在线视频| 国产精品国产精品国产专区不片| 9i看片成人免费高清| 中文字幕亚洲一区二区av在线 | 91精品国产91久久久久久最新毛片 | 欧美人牲a欧美精品| 亚洲一区视频在线| 欧美一级日韩免费不卡| 精品一区二区三区视频在线观看| 精品处破学生在线二十三| 国产精品456露脸| 日韩一区欧美小说| 欧美日韩激情在线| 激情综合一区二区三区| 欧美激情在线看| 日本高清免费不卡视频| 日韩成人午夜电影| 国产欧美日韩在线观看| 色综合久久66| 蜜桃久久久久久| 国产欧美1区2区3区| 欧美日韩在线综合| 国产最新精品免费| 亚洲人成网站在线| 欧美一卡2卡3卡4卡| 丁香婷婷综合五月| 亚洲r级在线视频| 久久久久久黄色| 在线精品视频一区二区三四| 蜜桃久久久久久久| 国产精品高潮呻吟久久| 69av一区二区三区| 99视频一区二区| 美腿丝袜一区二区三区| 亚洲免费在线视频| 久久久精品日韩欧美| 欧美日韩高清在线| 99re免费视频精品全部| 精品无人码麻豆乱码1区2区| 亚洲色图丝袜美腿| 久久精品欧美一区二区三区麻豆| 欧美图区在线视频| 成人国产免费视频| 另类调教123区| 亚洲电影第三页| 自拍av一区二区三区| 日韩欧美国产电影| 欧美日韩不卡视频| 91福利小视频| 不卡大黄网站免费看| 另类调教123区| 香蕉加勒比综合久久| 中文字幕人成不卡一区| 2020国产精品自拍| 欧美一卡二卡三卡| 欧美喷水一区二区| 一本一本大道香蕉久在线精品 | 成人性生交大片免费看视频在线| 日韩成人精品在线| 亚洲成av人片www| 亚洲制服欧美中文字幕中文字幕| 欧美极品aⅴ影院| 国产婷婷色一区二区三区四区| 欧美一二三四区在线| 在线电影欧美成精品| 欧美伊人久久大香线蕉综合69 | 69堂国产成人免费视频| 在线观看网站黄不卡| 99精品视频在线观看| 9色porny自拍视频一区二区| 成人永久免费视频| 国产成人综合亚洲91猫咪| 国产一区 二区 三区一级| 韩国欧美国产1区| 久久99深爱久久99精品| 视频在线观看国产精品| 天天综合网天天综合色| 视频在线观看一区| 美女性感视频久久| 精品一区二区免费在线观看| 久久不见久久见中文字幕免费| 美美哒免费高清在线观看视频一区二区| 日韩成人一区二区| 久久精品国产亚洲a| 国产精品一线二线三线精华| 懂色av一区二区夜夜嗨| 99久精品国产| 日本高清不卡aⅴ免费网站| 欧洲一区二区三区在线| 欧美日韩国产经典色站一区二区三区| 欧美私模裸体表演在线观看| 欧美日韩成人在线一区| 欧美成人国产一区二区| 中文欧美字幕免费| 一区二区三区色| 日韩1区2区3区| 国产一区欧美一区| 97超碰欧美中文字幕| 欧美日韩在线播| 久久婷婷久久一区二区三区| 欧美经典三级视频一区二区三区| 亚洲欧美日韩中文播放 | 中文字幕在线不卡国产视频| 亚洲靠逼com| 日本最新不卡在线| 国产成人av自拍| 欧美日韩亚洲综合在线 | 日韩理论在线观看| 亚洲国产精品一区二区久久恐怖片 | 亚洲午夜激情网页| 国产在线看一区| 91久久线看在观草草青青 | 日韩激情中文字幕| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 成人禁用看黄a在线| 欧美视频中文字幕| 久久亚洲二区三区| 国产精品综合视频| 国产凹凸在线观看一区二区| 欧美图片一区二区三区| 国产欧美日韩另类视频免费观看 | 久久国产综合精品| 99国产欧美另类久久久精品| 欧美一级淫片007| 中文字幕一区二区三区视频| 日本亚洲视频在线| 日本高清视频一区二区| 国产亚洲欧洲一区高清在线观看| 亚洲一区二区欧美| 成人网男人的天堂| 欧美www视频| 亚洲国产欧美在线| 本田岬高潮一区二区三区| 日韩精品一区在线观看| 一区二区三区中文字幕在线观看| 国产一区二区看久久| 欧美精品久久天天躁| 最近日韩中文字幕| 国产精品77777| 欧美tickle裸体挠脚心vk| 午夜激情一区二区三区| 91美女视频网站| 中文字幕巨乱亚洲| 国产91丝袜在线播放九色| 日韩一区二区三区电影 | 91精品在线免费| 伊人色综合久久天天| aaa亚洲精品| 国产精品久久久久久久久免费樱桃 | 色妞www精品视频| 欧美激情一区二区三区全黄| 国产乱码精品1区2区3区| 欧美成人video| 精品一区二区三区日韩| 欧美一级电影网站| 麻豆91免费观看| 精品日韩一区二区三区免费视频| 日韩精品亚洲一区| 91麻豆精品国产91久久久资源速度| 亚洲一区二区精品3399| 欧美视频一区在线| 亚洲成av人影院|